-w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。 六、-W和-Wall -W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。 -Wall选项意思是编译后显示所有警告 七、-O3 -O是大写字母O,不是数字...
-Wall -Wextra# 开启大部分警告和额外警告-Wpedantic# 对不符合ISO语言规范的发出警告-Werror# 视所有警告为错误, 不建议使用-Wshadow# 局部变量遮盖上一层的变量时报错-Wfatal-errors# 遇到第一个错误即停止-Wsign-compare# 有符号与无符号比较 被包含在-Wextra-Wconversion# 隐式转换可能导致值出现错误-Wno-unuse...
-O3: 在O2的基础上进行更多的优化 -Wall: 编译时 显示Warning警告,但只会显示编译器认为会出现错误的警告 -fno-strict-aliasing: “-fstrict-aliasing”表示启用严格别名规则,“-fno-strict-aliasing”表示禁用严格别名规则,当gcc的编译优化参数为“-O2”、“-O3”和“-Os”时,默认会打开“-fstrict-aliasing”...
1 -Wall 这是一个非常常用的编译选项,用于启用一批比较常见且易于修改的警告,这些选项都是对代码进行基本的检查,比如下面这些: 选项作用 -Waddress 检查是否存在可疑的内存地址使用 -Wformat 检查标准库函数的使用格式是否正确,比如printf的格式化字符串中的格式符和对应的参数是否匹配 -Wunused-function 对已声明但是未...
-Wall:该标志启用一套全面的警告,涵盖各种潜在问题。 -Werror:该标志将警告视为错误,使编译器在遇到警告时停止编译过程。 4.预处理器Flag 预处理器标志负责处理源代码中以#开头的指令。这些标志定义宏并控制编译。 一些常用的预处理器标志包括: -D:该标志用于在编译过程中定义宏。例如,-DDEBUG可用于定义DEBUG宏...
–-Wall:启用所有警告信息。 –-O:优化选项,包括-O0、-O1、-O2、-O3等级别,表示不同的优化程度。 –-L:指定库文件的搜索路径。 –-l:指定需要链接的库文件。 3. 多文件编译 gcc命令还可以同时编译多个源文件,并将它们链接成一个可执行文件。多文件编译时,需要将所有的源文件名依次列在gcc命令后面,例如:...
gcc hello.c -o hello -O3 运行结果: root@Turbo:test# ./hello 1683603941 1683603941 root@Turbo:test# 当然,还有 -o,表示输出的意思,用来指定编译后生成文件的名字。 gcchello.c-o hello -Wall表示打开所有警告,有时候编译器会认为一些不规范的写法影响不大,并不会提示出来,加上Wall,会把这些不重要的警告...
gcc -c O3 -O0 hello.c 当出现多个优化时,以最后一个为准!! 8. -Wall 以最高级别使用GNU编译程序,专门用于显示警告用!! gcc -Wall hello.c 1. 9. -L 指定连接库的搜索目录,-l(小写L)指定连接库的名字 gcc main.o -L/usr/lib -lqt -o hello ...
4. 添加编译选项:gcc 提供了许多编译选项,可以根据需要进行调整。例如,可以使用 -Wall 选项来启用所有警告,使用 -O3 选项来进行最高级别的优化等。 5. 链接其他库:有时候,在编译时需要链接其他的库文件。可以使用 -l 选项来指定要链接的库文件,例如: ...
(1)-Wall 这个选项基本打开了所有需要注意的警告信息,比如没有指定类型的声明、在声明之前就使用的函数、局部变量除了声明就没再使用等。 上面的 main.c 文件中,第 6 行定义的变量 i 没有被使用,但是使用“gcc –c –o main.o main.c”进行编译时并没有出现提示。