《c和指针》笔记--#line宏

2014-11-24 02:03:03 · 作者: · 浏览: 1

宏#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