【发布时间】:2010-06-19 11:08:14
【问题描述】:
假设我们有一个编译成 .a 文件的库。之后,该库与其他代码链接到某个可执行文件 .exe 中。 .a 文件的大小为 6Mb,而 .exe 文件的大小为 3Mb。对此的明显解释是链接器从库中抛出了未使用的代码。 我想知道的是最终可执行文件中真正库的代码足迹。
【问题讨论】:
标签: c linker executable static-libraries memory-footprint
假设我们有一个编译成 .a 文件的库。之后,该库与其他代码链接到某个可执行文件 .exe 中。 .a 文件的大小为 6Mb,而 .exe 文件的大小为 3Mb。对此的明显解释是链接器从库中抛出了未使用的代码。 我想知道的是最终可执行文件中真正库的代码足迹。
【问题讨论】:
标签: c linker executable static-libraries memory-footprint
查看链接器选项。链接器通常可以选择生成映射文件。这是链接到最终图像的函数列表以及它们的来源。听起来您正在使用 gcc,请使用 -map 选项。
【讨论】:
一个库有很多功能的实现。一个exe使用其中的一些。喜欢的人只在exe中添加exe使用的功能代码。
【讨论】: