常见gcc编译警告整理以及解决方法【收藏】
1、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
的文件展开后,前一个文件的最后一行与后一个文件的第一行直接被连接成一行从而造成错误。
2、warning: comparison between pointer and integer
解释:integer与pointer比较
3、warning: assignment discards qualifiers from pointer target type。