【发布时间】:2011-09-22 12:11:06
【问题描述】:
揭示我的无知:为什么静态库项目(在我的情况下是 Visual Studio)在项目属性页面中没有链接器设置?我认为“链接”是一个大问题:图书馆,但显然我从根本上误解了一些东西。
【问题讨论】:
标签: visual-studio linker static-libraries
揭示我的无知:为什么静态库项目(在我的情况下是 Visual Studio)在项目属性页面中没有链接器设置?我认为“链接”是一个大问题:图书馆,但显然我从根本上误解了一些东西。
【问题讨论】:
标签: visual-studio linker static-libraries
制作可执行文件是一个三步过程:
库只是对象的集合,根据定义,这些对象尚未链接。链接器不用于创建库,因此没有链接器选项是有道理的。
【讨论】:
链接是将目标文件组合成可执行文件(和动态库,其格式类似于可执行文件)的过程。
静态库没有链接,它们是目标文件的简单存档。
当您在项目中引用静态库时,目标文件会从库中提取并与特定项目的文件链接在一起。
【讨论】:
因为你不链接它,纯粹而简单。
链接是将所有目标文件和库组合在一起以创建可执行文件的行为。在静态库项目中,您不是在创建可执行文件,而是在创建稍后将被链接的库。
例如(这是 UNIX 而不是 Windows,但概念相似),您将使用编译器 cc 将源文件转换为目标文件,并使用归档器 ar 将它们转换为库。链接器(或链接编辑器)ld 不需要参与,直到您想进入下一步并将您的库包含到可执行文件中。
【讨论】: