【发布时间】:2016-12-27 10:39:52
【问题描述】:
我在 Visual Studio 中创建了 Windows 应用程序项目。 OpenSSL 库(大小:15Mb)与应用程序项目静态链接。
但是,应用程序(可执行文件).exe 文件的大小仍然约为 2 MB。
这怎么可能? 谁能解释一下链接器是如何做到的?
【问题讨论】:
标签: c visual-studio static-linking
我在 Visual Studio 中创建了 Windows 应用程序项目。 OpenSSL 库(大小:15Mb)与应用程序项目静态链接。
但是,应用程序(可执行文件).exe 文件的大小仍然约为 2 MB。
这怎么可能? 谁能解释一下链接器是如何做到的?
【问题讨论】:
标签: c visual-studio static-linking
在链接期间,链接器只会从您的应用程序所需的 OpenSSL 库中挑选代码。它不会包含整个 OpenSSL 库。因此,您的可执行文件可能比库小得多。
基本上,静态库只是目标文件的容器。每个目标文件都包含单个编译单元的代码。
【讨论】: