为什么目标文件的debug_str这么大?

时间:2018-09-21 08:31:39

标签: c++ c gcc

enter image description here

我使用[objdump XXX.o -Ws]输出许多字符串行,它们都是我的其他c ++头文件中的结构名,但其中有些重复,使我的XXX.o很大。

谁能告诉我,gcc是否需要在debug_str中重复的结构名?是否有一些gcc参数可以减少重复的字符串?谢谢。

1 个答案:

答案 0 :(得分:2)

  

谁能告诉我,gcc是否需要在debug_str中重复的结构名?

是的,如果您想以友好的方式调试程序,则必须使用它们。

  

还有gcc的一些参数可以减少重复的字符串吗?谢谢。   不直接,不。

编译时可以删除-g或类似的参数。但这将不再使源代码级调试成为可能。

您还可以通过对二进制文件或目标文件运行strip -g命令来自己删除该信息。

请记住,这是调试器使用的调试信息。正常运行程序时,不会加载或使用该信息。