C中的预处理器符号
譬如调试一个存在许多涉及一组变量的不同计算过程的程序,可使用预定义处理符号定义的宏进行调试信息的打印
符号 |
样例值
|
含义
|
__FILE__
|
"name.c"
| 进行编译的源文件名 |
__LINE__
|
25
|
文件当前的行号
|
__DATE__ | "Sep 30 2014" | 文件被编译的日期 |
__TIME__ |
"18:46:30"
| 文件被编译的时间 |
__STDC__
|
1
| 如果编译器遵循ANSI C,其值为1,否则未定义 |
代码如下:
#include <stdio.h>
#define DEBUG_PRINT printf( "File %s line %d:"\
"x = %d, y = %d, z = %d\n",\ //此行语句有点长,所以用反斜杠将此语句分为几行。
__FILE__, __LINE__, x, y, z)
int main(void)
{
int x=2, y=3, z=4;
x *= 2;
y += x;
z = x * y;
DEBUG_PRINT;
}
运行结果:
File practice_define.c line 11:x = 4, y = 7, z = 28