gcc -Wshadow -c test_shadow.ctest_shadow.c: In function `test':test_shadow.c:9: warning: declaration of `i' shadows a parametertest_shadow.c:10: warning: declaration of `g' shadows a global declarationtest_shadow.c:6: warning: shadowed declaration is here 2.3 [-Wbad-function-cast] [...
下面先给出一个常用编译选项的示例: CFLAGS := -Wall -Wundef -Wshadow -Wconversion -Werror=return-type \ -Werror=implicit-function-declaration -Werror=unused-variable \ -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ -Wno-trigraphs -Os 对于调试版本,将-Os替换为-g -Og。 一 警告...
-Wconversion : 警告隐式类型转换。 -Wshadow : 警告影子变量(在代码块中再次声明已声明的变量) -Wcast-qual :警告指针修改了变量的修饰符。如:指针修改const变量。 -Wwrite-strings : 警告修改const字符串。 -Wtraditional : 警告ANSI编译器与传统C编译器有不同的解释。 -Werror : 即使只有警告信息,也不编译。
下面是一个GCC常用的编译选项示例: CFLAGS:=-Wall-Wundef-Wshadow-Wconversion-Werror=return-type\-Werror=implicit-function-declaration-Werror=unused-variable\-fno-strict-aliasing-fno-common-fshort-wchar-fno-PIE\-Wno-trigraphs-Os 对于调试版本,可将 -Os 替换为 -g -Og。 1、调试选项 为了能够正常使用...
另外,对于变量遮罩的潜在冲突,-Wshadow</也是一个不错的选择。在追求代码的精准和明确性时,我们还需要关注隐式转换可能带来的不确定性,这时可以使用-Wconversion</,推荐在转换时进行显式操作,以避免意外的结果。优化选项</: 为了平衡性能与代码效率,GCC提供了多种优化级别。调试时,我们通常选择-O...
-Wshadow : 警告影子变量(在代码块中再次声明已声明的变量) -Wcast-qual :警告指针修改了变量的修饰符。如:指针修改const变量。 -Wwrite-strings : 警告修改const字符串。 -Wtraditional : 警告ANSI编译器与传统C编译器有不同的解释。 -Werror : 即使只有警告信息,也不编译。(gcc默认:若只有警告信息,则进行编...
[-Wshadow] 当局部变量遮蔽(shadow)了参数、全局变量或者是其他局部变量时,该警告选项会给我们以警告信息。 /** test_shadow.c*/intg;voidtest(inti) {shorti;doubleg; } gcc -Wshadow -c test_shadow.c test_shadow.c: In function `test':
你的系统可能没有安装GCC,试试看g++ -c ...这个命令 需要安装的话,要从安装光盘或者网络上选择GCC工具包才行。另一种情况,如果没有足够的权限,也不能使用gcc命令。用root(超级用户)试试 即使安装GCC,也需要root账户执行
-Wshadow使用该选项时,如果本地的变量或类型声明遮蔽了另一个变量、参数、类型、类成员(C++)、实例变量(Objective-C)或内建函数,则gcc会报警告。 -Wconversion当使用该选项时,如果隐式类型转换会更改变量的值,则gcc会给出警告。这样的隐式转换有实数与整数的转换、有符号数与无符号数的转换、转向更小类型的转换...
-Wshadow使用该选项时,如果本地的变量或类型声明遮蔽了另一个变量、参数、类型、类成员(C++)、实例变量(Objective-C)或内建函数,则gcc会报警告。 -Wconversion当使用该选项时,如果隐式类型转换会更改变量的值,则gcc会给出警告。这样的隐式转换有实数与整数的转换、有符号数与无符号数的转换、转向更小类型的转换...