调试宏:
__FILE__: 所在文件名
__FUNCTION__:所在函数名
__LINE__:所在行数
__DATE__:执行日期
__TIME__:执行时间
实例:
#include <stdio.h>
/* #给标记自动加上引号 */
// 打印出变量名
#define printNum(x) printf("%s = %d\n", #x, x)
// 打印出函数名
#define printFun(x) printf("%s\n", #x)
/* ## 为连接符,用于把两个语言符号组合成单个语言符号 */
#define val(x) val##x
#define num(x) num##x
#define test(x) test##x
void testFun()
{
printFun(testFun);
}
void test1()
{
printf("test1\n");
}
int main()
{
printf("__FILE__: %s\n", __FILE__);
printf("__FUNCTION__:%s\n", __FUNCTION__);
printf("__LINE__: %d\n", __LINE__);
printf("__DATE__: %s\n", __DATE__);
printf("__TIME__: %s\n", __TIME__);
int abc = 666;
printNum(abc);
testFun();
int val(1) = 123456789;// 相当于定义了val1
int num(2) = 987654321;// 相当于定义了num2
printNum(val1);
printNum(num2);
test(1)();
test1();
return 0;
}
执行结果:
