#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指令之前文件名和行号还是源文件的文件名和行号,指令之后才会使用新的文件名和行号。
本文深入探讨了C预处理器中的#line指令,解释了如何使用该指令改变编译器内部存储的行号和文件名,以及它在源代码中如何生效。通过一个具体的示例,展示了#line指令前后文件名和行号的变化。
1017

被折叠的 条评论
为什么被折叠?



