keil报警告USART.c(129): warning: #1-D: last line of file ends without a newline,文件结束没有以新的一行结束
文件报错位置:
解决方法:
文件的最后一行新起一行。
原因:
C语言标准中,每一个文件中的代码必须要以新的一行结束。编译器会对该问题报警告,但也可能会引起一些隐含的问题。
C 语言是在 Unix 中发明的,为 Unix 系统的编程语言,它对文件的处理遵循一个基本的原则:
文件是流式的,可以被任意的拼接并且拼接后仍然保证完整性。为了保证这一点,在 Unix 中 \n 符号被定义为一行的『结束符』,换句话说,如果一行的结尾没有 \n 视为这一行没有结束,换句话说这个文件不完整,也就是说这根本不是一个合法的文本文件。
不遵守标准会带来的问题是:如果 \n 是两行之间的分隔符,那么最后一行不带 \n,结果是拼接两个文件时,后一个文件的第一行就会被拼到前一个文件的最后一行,这很可能会造成语意错误。
比较常见的例子是:前一个文件最后一行是 } 后一个文件第一行是 #include,如果 } 后面没有结束符,拼接之后就成了 }#include ,立即发生语法错误。
————————————————
版权声明:本文为CSDN博主「夜风~」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014470361/article/details/79397364