不必要的C++代码最终会出现在我完成的程序中吗?



假设我包含一个包含大量函数的头文件。

#include "1000Functions.h"
Function1(42);
Function2("Hello");
Function1000("geeks!");

但是,我只想使用标题中的一些函数。在预处理、编译和链接(例如,使用 g++(之后,我的程序是包含所有 1000 个函数,还是只包含我使用的 3 个函数?

我发现这篇文章很有用。使用objdump -tC ProgramName可以显示不必要的代码,当您的程序加载到内存中时,这些代码最终会加载到 .text 中。

链接时间优化是我一直在寻找的,一旦我将这两个标签添加到链接命令中,它就对我有用,而不仅仅是-flto.

-O2 -flto

相关内容

最新更新