是什么意思#line
in the C语言?它会用在哪里?
它告诉编译器以下行实际上来自哪里。通常只有 C 预处理器添加这些内容,例如,当包含文件时,它告诉编译器(基本上只看到一个数据流)我们正在查看另一个文件。
这可能听起来很奇怪,但是预处理器只是在您指定包含的位置插入头文件,并且编译器对整个事情进行处理(所有头文件与源代码一起连接),您可以检查预处理器阶段的结果,如果使用海湾合作委员会与gcc -E myfile.c
。在那里你会注意到它添加了一个#line
每当您包含文件时,以及每当它减少提供给编译器的文本量时(例如大量注释可能会减少为单个指令)#line
指令,向前跳过)
其他程序(例如 bison/yacc)也使用它来告诉您问题(如果存在编译问题)与特定行的规则文件有关,否则编译器将无法执行此操作,因为bison/yacc 生成 c 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)