C-为什么可执行文件小于与应用程序项目静态链接的库



我已经在Visual Studio中创建了Windows应用程序项目。OpenSSL库(尺寸:15MB)与应用程序项目静态链接。

,但是,应用程序的大小(可执行文件).exe文件仅2 mb。

怎么可能?谁能向我解释一下链接器是如何做到的?

在链接过程中,链接器将仅从应用程序所需的OPENSL库中选择代码。它将不包括整个OpenSSL库。因此,您的可执行文件可能比库小得多。

基本上,静态库只是对象文件的容器。每个对象文件都包含单个汇编单元的代码。

最新更新