当前位置:  技术问答>linux和unix

warning: no newline at end of file

    来源: 互联网  发布时间:2016-05-24

    本文导语:  我知道只要在最后面按下回车就能解决这个警告 我想知道为什么GCC编译器要求在文件的最后必须有一新行? 请各位帮帮忙!谢谢! | 晕,又百度了一下,发现更合理的解释     GCC中如果文件...

我知道只要在最后面按下回车就能解决这个警告
我想知道为什么GCC编译器要求在文件的最后必须有一新行?
请各位帮帮忙!谢谢!

|
晕,又百度了一下,发现更合理的解释

 
 
GCC中如果文件最后不加上一行空行的话,就会冒个warning:no newline at end of file。

在《Rationale for the C99 standard》一文中,有C99的相关信息:

A backslash immediately before a newline has long been used to continue string literals, as well as preprocessing command lines. In the interest of easing machine generation of C, and of transporting code to machines with restrictive physical line lengths, the C89 Committee generalized this mechanism to permit any token to be continued by interposing a backslash/newline sequence.

c/c++代码的每一行后面有一个“结束符”,也就是newline。避免当被include的文件展开后,前一个文件的最后一行与后一个文件的第一行直接被连接成一行从而造成错误。
  

|
比如严格的编译器好像都是这种,比如HP或compaq小型机上的cc。

ibm aix上的编译器则没有这个要求。

|
可以防止一些错误吧,如最后一行行尾有个  之类的

|
。。没考虑过这样问题,估计是防止什么错误吧

|
遇到过类似问题。
我是在windows下编辑程序然后在linux下编译,每次头会提示这个警告,于是在windows下每次在一个文件的结尾我都会加一个空行。在linux下使用vim编辑就没有类似的警告,不加空行也可以的

|
  楼上正解。末行多个回车就OK了

|
英文的意思就是说文末没有换行符。Unix文档的回车换行符是一个字符n,Windows的是分别的两个nr,所以你在Windows下编辑的最后一个字符是r不是n,所以编译器以为有错误。 

在文件最后补一个新行即可

百度的,应该是基于这个考虑的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.print.attribute.standard类severity的类成员方法: warning定义及介绍
  • informix 数据库 warning
  • java命名空间java.util.logging类level的类成员方法: warning定义及介绍
  • solaris上出现warning
  • java命名空间java.util.logging类logger的类成员方法: warning定义及介绍
  • 编译时出现的warning,要怎么才能去掉?
  • java命名空间javax.security.auth.callback类confirmationcallback的类成员方法: warning定义及介绍
  • Gtk-WARNING **: cannot open display
  • java命名空间javax.tools枚举diagnostic.kind的类成员方法: warning定义及介绍
  • bash.exe:warning:could not find /tmp,please create
  • java命名空间java.awt枚举trayicon.messagetype的类成员方法: warning定义及介绍
  • 如何消除warnings:type defaults to 'int' in declaration of?
  • java命名空间javax.security.auth.callback类textoutputcallback的类成员方法: warning定义及介绍
  • #define PCI9054_MSG(fmt, args...) printK("kERN_WARNING:"fmt,##args)
  • java命名空间javax.xml.bind接口validationevent的类成员方法: warning定义及介绍
  • to warning(爱就爱了)
  • java命名空间javax.swing类joptionpane的类成员方法: warning_message定义及介绍
  • Linux 下浏览网页的出现问题! Nantivs JavaScript Warning!
  • java命名空间javax.tools枚举diagnostic.kind的类成员方法: mandatory_warning定义及介绍
  • libtool: install: warning: relinking `libaaaBss.la' 这个警告说明什么?
  • java命名空间javax.swing类jrootpane的类成员方法: warning_dialog定义及介绍
  • warning:implicit declaration of function


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    warning: Missing the separate debug info file: /usr/lib/debug/.build-id/ac/2eeb2 iis7站长之家