即使正在使用所有功能,库文件也比可执行文件大十倍

问题描述

我一直致力于制作一些库,我有一个测试系统,我将在 Visual Community 2019 中为每个库提供一个解决方案,一个项目构建库,另一个项目测试并从中执行. “库测试器”可执行文件测试并使用库中的所有函数以及其他代码来执行,但即使在调试版本中,可执行文件的物理大小也比库小 5-10 倍。据我了解,C 库包含符号定义,因此每当库测试器项目引用一个函数时,链接器基本上都会将 .lib 代码复制到 .exe 中。如果我对这个过程的(松散的)理解是正确的,怎么可能所有符号都被解析而 .lib 使 .exe 相形见绌?

精确测量:

在调试版本中,exe 为 109KB,.lib 为 527KB。

在发布版本中,exe 为 30KB,.lib 为 2.9MB。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)