宏#line改變_LINE_與_FILE_的內容,它們是在編譯程序中預先定義的標識符。
基本形式如下:
# line number [ "filename"]
其中的數字為任何正整數,可選的文件名為任意有效文件標識符。行號為源程序中當前行號,文件名為源文件的名字。宏#line主要用於調試及其它特殊應用。
[cpp] #include <stdio.h>
int main(void)
{
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
#include <stdio.h>
int main(void)
{
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
上面的代碼執行結果為:
linemacro.c 5
[cpp] #include <stdio.h>
int main(void)
{
#line 99 "a.c"
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
#include <stdio.h>
int main(void)
{
#line 99 "a.c"
printf("%s %d\n",__FILE__,__LINE__);
return 0;
}
上面的代碼執行結果為:
a.c 99