是否有可能找出链接器链接特定静态库的原因?

时间:2017-06-12 13:31:48

标签: c++ linker static-linking

我有一个小的C ++应用程序,静态链接一个框架库,让我们称之为 F ,为我提供各种功能。对于其中一些 F 框架使用另一个静态 L ,因此我也必须链接。它非常大,我确信我不需要它用于我的应用程序(它会处理我根本不在应用程序中使用的东西,甚至远程)。

到目前为止,链接器似乎优化了整个 L 库,因为我使用的 F 框架的部分并不需要它。但是在迁移到新版本的 F 后它已经发生了变化,我的应用程序的二进制文件的大小已经大大增加了。这是我想避免的。

有什么方法可以告诉链接器向我提供信息为什么没有优化的东西?或者我的哪些函数/方法可能间接使用 L 库中的一些东西?它甚至可能吗?根据这种信息,我希望能够以一种阻止将 L 库代码合并到最终二进制文件中的方式来改变 F 框架,或者实现我的应用程序有点不同,并没有使用 F 的某些部分导致这种情况。

我在这里谈论的是Microsoft Visual Compiler。但也许Clang或GCC可以帮助我更好吗?

感谢您的建议!

0 个答案:

没有答案