假设我要包含一个具有大量功能的头文件。

#include "1000Functions.h"

Function1(42);
Function2("Hello");
Function1000("geeks!");
但是,我只想使用标题中的一些功能。经过预处理,编译和链接(例如,使用g++)后,我的程序会包含全部1000个函数,还是仅包含我使用的3个函数?

最佳答案

我发现this article很有用。使用objdump -tC ProgramName可以向您显示不必要的代码,当您的程序加载到内存中时,这些不必要的代码最终被加载到.text中。
我一直在寻找链接时优化,一旦我将这两个标签添加到链接命令中,而不仅仅是-flto,它便对我有用。

-O2 -flto

07-28 04:32