#line
指令告诉与处理器将编译器内部存储的行号和文件名更改为给定的行号和文件名。
语法:
#line num [filename]
示例 main.c
:
#include <stdio.h>
int add(int x, int y)
{
printf("%s: %d\n", __FILE__, __LINE__);
return x + y;
}
#line 100 "test_main.c"
int main()
{
printf("%s: %d\n", __FILE__, __LINE__);
printf("%d\n", add(1, 2));
return 0;
}
输出:
test_main.c: 103
main.c: 5
3
在使用
#line
指令之前文件名和行号还是源文件的文件名和行号,指令之后才会使用新的文件名和行号。