◆strict-aliasing:对变量别名进行最严格的检查。 ◆unknown-pragmas:使用了不允许的#pragma。 ◆Uninitialized:在初始化之前就使用自动变量。 (不要被它的表面意思迷惑,下面是使用-Wall选项的时候没有生效的一些警告项,而且还有-Wextra) ◆cast-align:一旦某个指针类型强制转换时,会导致目标所需的地址对齐边界扩展,...
gcc -Wall -Wunknown-pragmas 这将启用所有常见的警告选项,并且还会检测不识别或不支持的编译器指令。 如果您希望禁用某些警告选项,例如-Wunknown-pragmas,则可以使用以下命令: 代码语言:txt 复制 gcc -Wall -Wno-unknown-pragmas 这将启用所有常见的警告选项,但不会检测不识别或不支持的编译器指令。 希望这可以帮...
◆strict-aliasing:对变量别名进行最严格的检查。 ◆unknown-pragmas:使用了不允许的#pragma。 ◆Uninitialized:在初始化之前就使用自动变量。 需要注意的是,各警告选项既然能使之生效,当然也能使之关闭 。比如假设我们想要使用-Wall来启用个选项,同时又要关闭unused警告,利益通过下面的命令来达到目的: $ gcc -Wall ...
◆strict-aliasing:对变量别名进行最严格的检查。 ◆unknown-pragmas:使用了不允许的#pragma。 ◆Uninitialized:在初始化之前就使用自动变量。 (不要被它的表面意思迷惑,下面是使用-Wall选项的时候没有生效的一些警告项,而且还有-Wextra) ◆cast-align:一旦某个指针类型强制转换时,会导致目标所需的地...
-Wunknown-pragmas 当遇到 GCC 不理解的 #pragma 指令时发出警告。如果使用此命令行选项,甚至会针对系统头文件中的未知 pragma 发出警告。如果警告仅由 -Wall 命令行选项启用,则情况并非如此。 并且像往常一样,你可以否定它,这意味着未知的 pragma 不会被警告。也就是说,使用 -Wno-unknown-pragmas。 请注意, ...
gcc -Wall -Wunknown-pragmas 这将启用所有常见的警告选项,并且还会检测不识别或不支持的编译器指令。 如果您希望禁用某些警告选项,例如-Wunknown-pragmas,则可以使用以下命令: 代码语言:txt 复制 gcc -Wall -Wno-unknown-pragmas 这将启用所有常见的警告选项,但不会检测不识别或不支持的编译器指令。
当请求无法识别的警告选项时(例如-Wunknown-warning ),GCC将发出诊断,指出该选项未被识别。 但是,如果使用-Wno- form,行为会稍有不同:除非正在生成其他诊断,否则不会生成-Wno-unknown-warning诊断。 这允许在旧编译器中使用新的-Wno-选项,但如果出现问题,编译器会警告存在无法识别的选项。
.unknown-pragmas:使用了不允许的#pragma。 .Uninitialized:在初始化之前就使用自动变量。 --- 4. 例子说明用法: ##预编译展开的源文件; gcc -E test.c -o test.i ##生成编译程序; gcc -S test.i -o test.s ##生成没有链接的目标文件; gcc -c test.s -o test...
-Wall,-Wextra 就是加-Wall 和-Wall不启动的选项也加上 ()-fsyntax-only 检查代码中的语法错误,但除此之外不要做任何事情。-w (⼩写)禁⽌所有警告消息。-W (⼤写)以“ -W ”请求特定的警告 - 可以隐式地请求隐式声明的警告。-W和-Wall的区别 -Wall选项意思是编译后显⽰所有警告。-W选项...
◆unknown-pragmas:使用了不允许的#pragma。 ◆Uninitialized:在初始化之前就使用自动变量。 需要注意的是,各警告选项既然能使之生效,当然也能使之关闭。比如假设我们想要使用-Wall来启用个选项, 同时又要关闭unused警告,利益通过下面的命令来达到目的: 下面是使用-Wall选项的时候没有生效的一些警告项: ...