标签: c visual-studio static-linking
我在visual studio中创建了windows应用程序项目。 OpenSSL库(大小:15Mb)与应用程序项目静态链接。
但是,应用程序的静态大小(可执行文件).exe文件只有2 MB。
怎么可能? 谁能解释我链接器是如何做到的?
答案 0 :(得分:2)
在链接期间,链接器将仅从应用程序所需的OpenSSL库中选择代码。它不包括整个OpenSSL库。因此,您的可执行文件可能比库小得多。
基本上,静态库只是目标文件的容器。每个目标文件都包含单个编译单元的代码。