gcc 时有关调试信息:-g3(调试信息)/-O0(编译优化)/-s(裁剪执行程序信息) -g /-gdb/-g3 编译调试信息 “-o”是指目标文件 gcc 编译选项 -s 可以裁剪执行程序的信息,删除可执行文件中所有符号表和重新定位信息,以压缩可执行文件,导致gdb调试无效,使用命令 file excfilename可以看到有strip 一、gcc -s...
-g2:默认-g的调试级别; -g3:相对-g,生成额外的信息,例如所有的宏定义; 和-O一样,如果多个级别的-g选项同时存在,最后的选项会被生效 综上,很多项目的线上版本都是使用”-O2 -g”的编译选项进行编译,以便发生问题的时候容易定位。但这有一个很大的弊端就是目标文件会比不开启调试信息的情况下大很多,所以一...
使用-g3和-O3进行编译 、、、 我见过的大多数构建环境至少有两种策略:调试构建与最终/优化/发布构建。对于gcc来说,这通常意味着-g对-O的某些版本。现在,我看到了这样一种情况:优化的构建是用-O3构建的,而调试版本是用-g3和-O3构建的。mangcc确实表明这是可能的,但对于实际调试而言,这似乎与我的直觉相悖...
编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高 -g 只是编译器,在编译的时候,产生调试信息。 -gstabs 此选项以stabs格式声称调试信息,但是不包括gdb调试信息. -gstabs+ 此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息. -ggdb 此选项将尽可能的生成gdb的可以使用的...
-g 生成调试信息。GNU 调试器可利用该信息。 -IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。 -LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。 -lLIBRARY 连接时搜索指定的函数库LIBRARY。 -m486 针对 486 进行代码优化。 -o FILE 生成指定的输出文件。用在生成可执行文件时。
-O0-O1-O2-O3编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高-g只是编译器,在编译的时候,产生调试信息。-gstabs此选项以stabs格式声称调试信息,但是不包括gdb调试信息.-gstabs+此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.-ggdb此选项将尽可能的生成gdb的可以...
-o 指定输出文件,如果没有使用 -o 选项,默认的输出结果是:可执行文件为 a.out 调试选项(DEBUGGING OPTION) 选项解释 -g 以操作系统的本地格式(stabs, COFF, XCOFF,或DWARF),产生调试信息,GDB能够使用这些调试信息 -glevel 请求生成调试信息,同时用level指出需要多少信息,默认的level值是2; level1: 输出最少...
-g:生成调试信息。GNU 调试器可利用该信息。 -IDIRECTORY: 指定额外的头文件搜索路径DIRECTORY。 -LDIRECTORY: 指定额外的函数库搜索路径DIRECTORY。 -lLIBRARY:连接时搜索指定的函数库LIBRARY。 -m486:针对 486 进行代码优化。 -o FILE: 生成指定的输出文件。用在生成可执行文件时。
-g:产生符号调试工具(GNU的 gdb)所必要的符号信息。想要对源代码进行调试,就必须加入这个选项。 -O:对程序进行优化编译、链接。采用这个选项,整个源代码会在编译、链接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是编译、链接的速度就相应地要慢一些,而且对执行文件的调试会产生一定的影响,造成一...
GCC -O选项 这个选项控制所有的优化等级。使用优化选项会使编译过程耗费更多的时间,并且占用更多的内存,尤其是在提高优化等级的时候。 -O设置一共有五种:-O0、-O1、-O2、-O3和-Os。你只能在/etc/make.conf里面设置其中的一种。 除了-O0以外,每一个-O设置都会多启用几个选项,请查阅gcc手册的优化选项章节,...