use*_*544 5 c libraries archive
我的意思是,与仅仅链接到单个模块/目标文件相反。为什么要一起归档模块组?它不是使可执行文件 1. 更大,2. 不那么安全(即更容易受到面向返回的编程攻击)吗?
静态库的主要功能是符号索引,它允许您仅链接那些提供缺失符号的归档成员。
将目标文件分组为单个文件或压缩都是次要的,您可以拥有所谓的“瘦档案”,两者都不做。(瘦档案基本上只是存在于它们所引用的目标文件之外的引用文件)。
优点:您只有一个文件。
静态库只是一个档案。您可以根据需要放入和取出单个文件。当您链接程序时,只会提取并链接适当的文件。
注意:如果您使用带有 的 Linux 发行版dpkg,则您将使用相同的库和包归档工具(并且可能嵌套在 -dev 包中)。