1.warning:return type defaults to 'int'
conflicting types for ’xxx‘ [enabled by default]
在.h文件中声明了函数,然后在单独的.c文件中将改函数定义和实现。此时需要注意在.c文件中需要将函数返回类型注明。如在.h文件中声明 “void foo();”,则在.c文件中需要写成"void foo()", 而不是“foo()".
2.warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness [-Wpointer-sign]
这是在linux下使用tcp/ip栈进行网络编程时,会遇到的warning。在stackoverflow上有个人给出的答案,很不错。
http://stackoverflow.com/questions/13241519/sockets-in-c-errors,需要将accept()函数的第三个参数声明为socklen_t类型。
3.warning: suggest parentheses around assignment used as truth value
有篇文章写得听详细的,http://blog.csdn.net/madpointer/article/details/8670434
人们在使用“=”的时候会不小心犯错,将其作为比较操作,而不是赋值操作,因此,gcc编辑器在-Wall选项下,会明确用户在判断语句中使用“=”的真正意图。当你想在判断语句中使用“=”时,一定要记得加上括号呦。
转自:http://coolshell.cn/articles/1903.html
警告:
有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他说,“你知道不知道这个东西会危害你的健康?我是说,你有没有注意到香烟盒上的那个警告(Warning)?”
小伙子说,“没事儿,我是一个程序员”。
那妇女说,“这又怎样?”
程序员说,“我们从来不关心Warning,只关心Error”