GNU编译器中的更改-g标志使其可用于c++

Changes -g flag in GNU compiler makes in executable for c++

本文关键字:用于 c++ 标志 编译器 GNU      更新时间:2023-10-16

添加-g标志后,会对可执行文件进行哪些更改?

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

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

调试信息会添加到可执行文件中。请参阅此链接。