c语言中的#line是什么意思 有答案
穿破大风雪 2019-06-12 10:36:31 //test.c
#include <unistd.h>
#include <stdio.h>
int main()
{
#line 90 "digitmap.y"
printf("current line number %d ,current file %s\n", __LINE__, __FILE__);
return 0;
}
cc test.c
./a.out
运行结果 为 current line number 90 ,current file digitmap.y
如果注释掉 //#line 90 "digitmap.y"
运行结果为
./a.out
current line number 6 ,current file test.c
#line 90 "digitmap.y" 其实就表示宏替换的意思,将 __LINE__, __FILE__ 分别替换成 #lilne 后的行号和文件名