在 C 语言中, __FILE_ 表示当前正在被编译的源文件名字的字符串字面值,__LINE__ 表示当前源文件行数的十进制常量,而 #line 可以改变上述两个宏的内容,即为其指定新的值。主要有以下两种形式:
#line linenum
#line linenum filename
上述调用将会使编译器认为:下一行源代码的行号是从 linenum 开始,并且,当前的输入文件有 filename 给出。以下为示例代码:
#include <stdio.h>
int main(void)
{
printf("-- %s: %d -- n", __FILE__, __LINE__);
#line 201 "foo.c"
printf("-- %s: %d -- n", __FILE__, __LINE__);
#line 101 "foo.c"
printf("-- %s: %d -- n", __FILE__, __LINE__);
return 0;
}
运行结果:
$ gcc -o main ./main.c
$ ./main
-- ./main.c: 5 --
-- foo.c: 201 --
-- foo.c: 101 --
最后
以上就是纯情金鱼最近收集整理的关于C语言中的#line宏的全部内容,更多相关C语言中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复