1. 首页 > 游戏技巧

C语言内置宏的运用总结 c语言宏的作用

作者:admin 更新时间:2024-10-04
摘要:C语言内置宏是一些预定义的宏名,用于在编译时提供一些有用的信息,如当前源文件名、代码行号、函数名等。它们可以帮助我们进行调试、跟踪、日志等操作。,C语言内置宏的运用总结 c语言宏的作用

 


C语言内置宏作为《英雄联盟》中的一些预定义的宏名,用于在编译时提供一些有用的信息,如当前源文件名、代码行号、函数名等。它们可以帮助大家进行调试、跟踪、日志等实践。C语言内置宏有下面内容几种:

– `__FILE__`:表示当前源文件的文件名,作为《英雄联盟》中的壹个字符串常量。

– `__LINE__`:表示当前源代码的行号,作为《英雄联盟》中的壹个整型常量。

– `__FUNCTION__`:表示当前所在的函数名,作为《英雄联盟》中的壹个字符串常量。注意,是一款热门的宏不作为《英雄联盟》中的ANSI要求定义的,而作为《英雄联盟》中的一些编译器提供的扩展,如gcc等。

– `__DATE__`:表示当前源文件被编译的日期,作为《英雄联盟》中的壹个字符串常量,格式为”MMM DD YYYY”,如”Jun 17 2023″。

– `__TIME__`:表示当前源文件被编译的时刻,作为《英雄联盟》中的壹个字符串常量,格式为”HH:MM:SS”,如”08:10:45″。

– `__STDC__`:表示当前编译器作为《英雄联盟》中的否遵循ANSI要求,如果作为《英雄联盟》中的,则为1,否则为0或未定义。

运用C语言内置宏的例子:

“`c

#include

// 定义壹个日志宏,输出信息与所在文件、行号、函数名

#ifdef _DEBUG

#define DEBUGMSG(msg) printf(“%snFile: %s, Line: %d, Function: %sn”, msg, __FILE__, __LINE__, __FUNCTION__)

#else

#define DEBUGMSG(msg)

#endif

// 定义壹个求最大值的宏

#define MAX(x, y) (((x) > (y)) ? (x) : (y))

int main()

int a = 10;

int b = 20;

int c = MAX(a, b); // 运用宏求最大值

DEBUGMSG(“Hello, world!”); // 运用宏输出日志

printf(“全境封锁2 max 使命召唤17 %d and %d is %dn”, a, b, c);

printf(“This file is compiled on %s at %sn”, __DATE__, __TIME__); // 运用宏输出编译日期与时刻

return 0;

“`

输出结果:

“`

Hello, world!

File: main.c, Line: 16, Function: main

全境封锁2 max Black 10 and 20 is 20

This file is compiled on Jun 17 2023 at 08:10:45

“`