宏#line改变_LINE_与_FILE_的内容,它们是在编译程序中预先定义的标识符。
基本形式如下:
# line number [ "filename"]
其中的数字为任何正整数,可选的文件名为任意有效文件标识符。行号为源程序中当前行号,文件名为源文件的名字。宏#line主要用于调试及其它特殊应用。
[cpp] #include
int main(void)
{
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
#include
int main(void)
{
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
上面的代码执行结果为:
linemacro.c 5
[cpp] #include
int main(void)
{
#line 99 "a.c"
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
#include
int main(void)
{
#line 99 "a.c"
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
上面的代码执行结果为:
a.c 99