wrong.c:4:warning:return type of'main'is not'int' wrong.c:In function'main': wrong.c:5:warning:unused variable'tmp' 可以看出,使用”-Wall”选项找出了未使用的变量tmp以及返回值的问题,但没有找出无效数据类型的错误。 2.非Wall类警告提示 非Wall类的警告提示中最为常用的有以下两种:“-ansi”和“...
This includes functions that call alloca, and functions with buffers larger than or equal to 8 bytes. The guards are initialized when a function is entered and then checked when the function exits. If a guard check fails, an error message is printed and the program exits. Only variables that...
不建议使用-Wshadow# 局部变量遮盖上一层的变量时报错-Wfatal-errors# 遇到第一个错误即停止-Wsign-compare# 有符号与无符号比较 被包含在-Wextra-Wconversion# 隐式转换可能导致值出现错误-Wno-unused-parameter# 关闭未使用参数警告, 未使用局部变量依然有效 ...
识别出不被调用的函数后,GCC会将其标记为"unused"(未使用)。 在最终生成的可执行文件中,GCC会通过链接器将标记为"unused"的函数从可执行文件中去除,以减小文件大小。 GCC优化后丢弃不用的函数的优势包括: 减小可执行文件的体积:通过去除不被调用的函数,可以减小可执行文件的大小,节省存储空间和网络带宽。
-Wunused-function 有未使用的函数时警告 -Wunused-label 有未使用的标号时警告 -Wunused-macros 当定义在主文件中的宏未被使用时给出警告 -Wunused-parameter 发现未使用的函数指针时给出警告 -Wunused-result 当一个带有 warn_unused_result 属性的函数的调用者未使用前者的返回值时给出警告 ...
test.c:In function‘main’:test.c:10:8:warning:suggest braces around empty body in an ‘if’ statement [-Wempty-body]if(i); 从上面的警告清楚的看到,-Wextra 选项从内部启用了-Wempty-body 选项,从而可以检测可疑代码并生成警告。下面是这个选项启用的全部警告标记。
error: ‘function_name’ was not declared in this scope 或者 undefined reference to `function_name' 前者是在编译阶段出现,表示编译器在当前作用域中没有找到函数的声明,而后者是在链接阶段出现,意味着链接器在生成的对象文件中没有找到函数的实现。
[gcc] gcc编译时不提示警告信息,您可以要求许多特定的警告选项开始with'-W',例如-Wimplicit要求警告onimplicit声明。所有这些特定的警告选项alsohas开头的否定形式“-Wno-'关闭警告;例如︰,-Wno隐。本手册只列出一个thetwo形式,两者不是默认。对于furtherlanguage特定的
关闭特定的warning可以在编译时通过命令行参数的方式指定,比如 gcc 是在命令行一般是用-Wno-xxxx这样的形式禁止特定的warning,这里xxxx代入特定的警告名。但这种方式相当将所有代码产生的这个warning显示都关闭了,不管是第三方库产生的还是自己的代码产生的,所以这种用法并不适合。
用一条gcc命令编译多个源文件的缺点:每个文件都要重新编译,比较费时间。 三、gcc的警告和提示 1、gcc包含完整的出错检查和警告提示功能,可以帮助程序员尽快找到错误的代码。 2、gcc包含30多个警告和3个警告级别。 四、一个不好的例子 //bad.c #include<stdio.h> ...