此外,GCC还提供了许多以-W开头的选项,允许用户指定输出某个特定的警告,例如: -Wcomment:出现注释嵌套时发出警告。 -Wconversion:如果程序中存在隐式类型转换,则发出警告。 -Wformat:检查printf和scanf等格式化输入输出函数的格式字符串和参数类型的匹配情况,如果发现不匹配则发出警告。 -Winline:如果函数不能被内联,则...
五、gcc的警告选项 1、-Wcomment,如果出现注释嵌套则警告(/* 后出现 /*) 2、-Wformat,如果传递给printf的参数与指定格式不匹配则告警 3、-Wmain,如果main的返回类型不是int或者调用main时参数不正确则告警 4、-Wparentheses,根据上下文推断,如果(n==10)写作(n=10)则警告 5、-Wswitch, 如果switch中少了一个...
3、以“-Wno-”开头关闭特定的警告; 例如: -Wno-return-type(取消返回值告警) -Wno-sign-compare(取消有符号和无符号对比告警) 如:$ gcc -Wall -Wno-unused test.c -o test 批量开启告警(即-Wall和-Wextra 批量开启的告警) 某些选项(如-Wall和-Wextra )会打开其他选项,例如-Wunused ,这可能会启用其他选...
-Wno-trigraphs -Os 对于调试版本,将-Os替换为-g -Og。 一 警告选项 GCC编译器支持对代码进行诊断,针对代码本身不是错误但是疑似错误或者可能存在风险的地方发出警告,而警告编译选项就是用于控制需要告警的警告类型的。 一般启用特定类型警告的格式为-Wxxx,而排除特定类型的警告的格式则一般为-Wno-xxx。 1 -Wall...
-Wcomment: 注释使用不规范。如“/* */”注释中还包括“/*”。我在项目源码发现过,不止一处。 -Wmissing-braces 括号不匹配。在多维数组的初始化或赋值中经常出现。下面a没有完整被初始化,b完整初始化: int a[2][2] = { 0, 1, 2, 3 }; ...
-Wall -Wextra# 开启大部分警告和额外警告-Wpedantic# 对不符合ISO语言规范的发出警告-Werror# 视所有警告为错误, 不建议使用-Wshadow# 局部变量遮盖上一层的变量时报错-Wfatal-errors# 遇到第一个错误即停止-Wsign-compare# 有符号与无符号比较 被包含在-Wextra-Wconversion# 隐式转换可能导致值出现错误-Wno-unuse...
关闭特定的warning可以在编译时通过命令行参数的方式指定,比如 gcc 是在命令行一般是用-Wno-xxxx这样的形式禁止特定的warning,这里xxxx代入特定的警告名。但这种方式相当将所有代码产生的这个warning显示都关闭了,不管是第三方库产生的还是自己的代码产生的,所以这种用法并不适合。
我们并没有加-Werror或者-Werror=incompatible-pointer-types它也报错了。 即便我们加了-Wno-error(即用:gcc -o conftest -I/opt/tools/include -I/opt/gcc-14/internal-packages/include -L/opt/tools/lib64 -L/opt/tools/lib -L/opt/gcc-14/lib64 -L/opt/gcc-14/lib -lncursesw -ltinfow test-...
一.yum 在Linux中我们也要进行工具/程序/指令的安装,检查和卸载,而我们安装软件的方式:1.源代码安装-...