当前位置:  开发笔记 > 程序员 > 正文

行尾(GNU文档)

如何解决《行尾(GNU文档)》经验,为你挑选了1个好方法。

我正在阅读有关gcc预处理的文档,我读了下面的句子(这里):

如果任何输入文件的最后一行缺少行尾标记,则认为文件末尾隐式提供一个.C标准表示这种情况会引发未定义的行为,因此GCC会发出警告信息.

我尝试通过以下方式产生警告:

> echo -n "int main(void) {return 0;}" > test.c
> gcc -Wall -Wextra -Werror test.c

但没有概率,它编译.我将行尾标记理解为新行字符,但它似乎是其他任何东西.

我怎么能发出警告?



1> nnn..:

它似乎从gcc中删除了.

请参阅:https: //gcc.gnu.org/bugzilla/show_bug.cgi?id = 14331#c19

2007-05-31

    PR preprocessor/14331
    * lex.c (_cpp_get_fresh_line):  Don't warn if no newline at EOF.


最初警告将是可选的.最终的补丁无条件地删除它.由于行为未定义,我希望有一个选项来启用警告.
推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有