gcc -g 和 gcc -g3 是在编译时用于生成调试信息的选项,它们之间的区别如下: -g 选项: 生成调试信息,以便在程序出现错误时进行调试和跟踪。生成的调试信息包含基本的符号表、源代码行号信息和局部变量的值。调试信息的生成速度较快,生成的调试信息文件较小。推荐在一般调试情况下使用。-g3 选项: 生成更详细的...
gcc 时有关调试信息:-g3(调试信息)/-O0(编译优化)/-s(裁剪执行程序信息) -g /-gdb/-g3 编译调试信息 “-o”是指目标文件 gcc 编译选项 -s 可以裁剪执行程序的信息,删除可执行文件中所有符号表和重新定位信息,以压缩可执行文件,导致gdb调试无效,使用命令 file
常用的gcc选项 调试相关 gcc -v(输出编译细节) gcc -MM(生成和头文件的依赖关系) gcc -g3(生成调试信息,-gdwarf) gcc -ggdb3(生成gdb专用的调试信息) gcc -p(生成性能分析信息) gcc -pg(生成gdb专用的分析信息) 警告相关 gcc -w(关闭所有警告) gcc -Wall(输出所有警告) gcc -Wno-deprecated(关闭使用...
总体选项(Overall Option) 选项解释 -c编译或汇编源文件,但是不作连接.编译器输出对应于源文件的目标文件. -o指定输出文件,如果没有使用-o选项,默认的输出结果是:可执行文件为a.out 调试选项(DEBUGGING OPTION) 选项解释 -g以操作系统的本地格式(stabs, COFF, XCOFF,或DWARF),产生调试信息,GDB能够使用这些调试...
gcc ⽀持4中级别的调试信息,-g0表⽰不⽣成调试信息,-g3表⽰⽣成最多的调试信息。-g默认为-g2。⼀般的调试信息包括⾏号,函数,外部变量。-g3包含其他额外的调试信息,⽐如宏定义。-O1 -O2 -O3 -Os -O系列选项主要⽤于优化代码。 -O和-O1是等价的,不影响编译速度,并且会采...
常用编译选项 gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] ...
-g -g3 gcc 支持4中级别的调试信息,-g0表示不生成调试信息,-g3表示生成最多的调试信息。-g默认为-g2。一般的调试信息包括行号,函数,外部变量。-g3包含其他额外的调试信息,比如宏定义。 -O1 -O2 -O3 -Os -O系列选项主要用于优化代码。 -O和-O1是等价的,不影响编译速度,并且会采用一些优化算法,降低代码...
Level 3包含更多的信息,如程序中出现的所有宏定义.当使用`-g3'选项的时候,某些调试器支持 宏扩展.GCC 编译选项(转)相关问题: 1、linux系统下-Wall和-Werror的区别是什么? -Wall 打开gcc的所有警告 -Werror,它要求gcc将所有的警告当成错误进行处理 ...
刚发现一个有趣的细节,用 gcc -g3 编译 C 程序,默认生成的 debuginfo 里面的宏信息所使用的 dwarf 指令是 DWARF v5 格式里才有的,而此时 gcc 7.3.1 生成的 debuginfo 里面仍自称是 DWARF v4 这个格式版本。DWARF v4 白皮书里面并没有提到那些宏相关的指令,比如 DW_MACRO_define_strp 和 DW_MACRO_start_...
常用编译选项 GCc and g++分别是gnu的c & c++编译器 GCc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp]2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器eGCs]3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]4.连接目标代码,生成可执行程序[链接器ld] ...