我是Linux用户并在工作中使用gcc但在家里我已经安装了cygwin软件包并在我的Windows机器上使用其gcc
。
当我制作任何.c文件并在警告后运行其节目时
Warning : No new line at end of file
当我在该c文件末尾添加额外的新行时警告消失了。 在Linux中使用gcc时,我没有遇到过这样的警告。
所以
为什么我会收到此警告?这是什么意思?
修改
有什么需要或有什么优势呢?
如果它是c编程标准的一部分那么为什么它在linux下工作时不会出错?
答案 0 :(得分:14)
C语言要求每个源文件必须以换行符结尾(来自C99 5.1.1.2/1):
非空的源文件应以换行字符结尾,在进行任何此类拼接之前,该字符不应立即以反斜杠字符开头。
(C ++在C ++ 11之前也有这个要求)
答案 1 :(得分:1)
No newline at end of file显示了您收到此错误的原因以及为什么不使用换行符可能会很糟糕。
你可能没有得到这个,因为你在工作中使用的任何编辑器可能在文本行的末尾添加换行符,而你在家里使用的编辑器则没有。