0

添加时 -g 标志实际上对可执行文件进行了哪些更改?

4

3 回答 3

1

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

于 2013-08-08T17:59:11.237 回答
1

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

于 2013-08-08T18:00:19.897 回答
0

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

于 2013-08-08T17:58:36.750 回答