加个-g 是为了gdb 用,不然gdb用不到 二、-o -o指定输出文件名 -o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。 一般语法: gcc filename.c -o filename 上面的意思是如果你不打 -o filename(直接gcc filen...
常用的编译选项包括: –-g:生成调试信息,可以在调试期间使用。 –-O0:关闭优化,将编译器的优化等级设置为0。 –-Wall:开启所有警告信息,方便发现潜在的问题。 下面是一个示例的编译命令: “` gcc -g -O0 -Wall main.c -o program “` 2. 调试命令:编译完成后得到可执行文件后,可以使用以下调试命令进行...
# 修改编译选项if("${CMAKE_CXX_COMPILER_ID}"STREQUAL"GNU")# debug 默认选项是 -gset(CMAKE_C_FLAGS_DEBUG"${CMAKE_C_FLAGS_DEBUG} -Wall -Wextra -Wfatal-errors -Wshadow -Wno-unused-parameter -O0")# -Og使用-O1优化, 除了那些影响调试的部分set(CMAKE_CXX_FLAGS_DEBUG"${CMAKE_CXX_FLAGS_D...
1. -o:指定生成的可执行文件的文件名。例如,gcc -o myprogram myfile.c 将生成一个名为myprogram的可执行文件。 2. -c:只编译源代码,生成目标代码文件(.o文件),不进行连接操作。 3. -Wall:开启所有警告输出。 4. -g:生成调试信息。 5. -O:优化选项。-O0表示没有优化,-O1表示启用基本优化,-O2表示...
sub.o:0000000000000000T sub 使用静态链接库 接下来,我们就可以编写一个main()函数,然后在main函数里调用它们。 intadd(inta,intb);intsub(inta,intb);intmain(void) { add(1,2); sub(4,3);return0; } 在编译mainc源文件时,因为调用了libmath.a库中的add和sub函数,编译时要使用gcc -l指定库的名字...
--O0:不进行优化 --O1:进行基本优化 --O2:进行更多优化 --O3:进行最大优化 --Os:进行优化以缩小代码尺寸 2.调试参数: --g:生成调试信息 - -ggdb:生成GDB可用的调试信息 - -gdwarf:生成DWARF调试信息 3.警告参数: - -Wall:开启所有警告 - -Werror:将所有警告视为错误 - -Wextra:开启额外的警告 -...
-g:产生符号调试工具(GNU的 gdb)所必要的符号信息。想要对源代码进行调试,就必须加入这个选项。 -O:对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是编译、链接的速度就相应地要慢一些,而且对执行文件的调试会产生一定的影响,造成一...
警告选项(如 -Wall):用于增强代码质量检查。 调试选项(如 -g):用于生成调试信息。 抑制默认选项的方法 1. 明确指定所需选项 通过明确指定你想要的选项,可以覆盖默认设置。例如: 代码语言:txt 复制 gcc -O0 -Wall -g myfile.c -o myprogram 这里-O0 表示关闭优化,-Wall 开启所有常见警告,-g 生成调试...
编译器的优化选项的 4 个级别,-O0 表示没有优化, -O1 为默认值,-O3 优化级别最高。 -g 只是编译器,在编译的时候,产生调试信息。 -gstabs 此选项以 stabs 格式声称调试信息, 但是不包括 gdb 调试信息。 -gstabs+ 此选项以 stabs 格式声称调试信息, 并且包含仅供 gdb 使用的额外调试信息。
1. -g 编译带调试信息的可执行文件 # -g 选项告诉 GCC 产生能被 GNU 调试器GDB使用的调试信息,以调试程序。 # 产生带调试信息的可执行文件test g++ -g test.cpp 1. 2. 3. 2. -O[n] 优化源代码 ## 所谓优化,例如省略掉代码中从未使用过的变量、直接将常量表达式用结果值代替等等,这些操作会缩减目标...