C语言 常用的宏定义
__FILE__ :宏在预编译时会替换成当前的源文件名
__LINE__:宏在预编译时会替换成当前的行号
__FUNCTION__:宏在预编译时会替换成当前的函数名称
//宏__VA_ARGS__的用法实例 #include <stdio.h> #include <stdlib.h> #include <string.h> /* __VA_ARGS__:总体来说就是将带参数的宏中的参数内容原样抄写在右边 __VA_ARGS__ 所在的位置。 它是一个可变参数的宏,是新的C99规范中新增的,目前似乎只有gcc支持(VC从VC2005开始支持)。 */ #define Text1(...) printf(__VA_ARGS__) #define Text2(...) printf("Line:%d--;",__VA_ARGS__, __LINE__); #define Text3(fm, ...) printf(fm,__VA_ARGS__) void main() { //示例一 //Text1("123","456"); //这样只能打印第一个参数"123" //示例二 //Text2(112,22); //打印:Line:112--;__LINE__的值不打印 //示例三 Text3("1=%s,2=%s","我是值1","我是值2"); //打印:1=我是值1,2=我是值2 system("pause"); }