GNU编译器中的更改-g标志使c ++的可执行文件成为可能

时间:2013-08-08 17:52:17

标签: c++ compiler-construction gnu

添加后,-g标志实际对可执行文件做了哪些更改?

3 个答案:

答案 0 :(得分:1)

基本上它包含有关程序源的更多信息,否则这些信息将在编译过程中丢失。这包括更多符号名称,以及机器代码对应的行号。有关详细信息,请参阅this reference

答案 1 :(得分:1)

主要的变化是二进制文件的大小增加,因为它现在将保存额外的调试信息。根据您正在构建的目标,它可能(或不)在执行期间具有任何其他效果。例如,当生成ELF时,所有调试信息都保存在一个单独的部分中,除非在调试器内部运行时(甚至认为二进制文件更大,因此不需要更多的实际内存),所有调试信息都不需要加载到内存中。

答案 2 :(得分:0)

调试信息会添加到您的可执行文件中。请参阅此link