.a能在运行时链接吗?

你需要把目标代码保存在独立的文件中,但.o目标文件和.a存档文件本身就是独立文件,让计算机在运行程序时链接.o文件不就行了么?

事情没有你想象的那么简单。普通的目标文件和存档包含的这点信息还不足以让它们在运行时链接,动态库文件还需要其他东西,例如要链接的文件名。

动态库——加强版目标文件

动态库和你屡屡创建的.o目标文件很像,但又不完全一样。动态库和存档也很像,也可以从多个.o目标文件创建。不同的是,这些目标文件在动态库中链接成了一段目标代码。

.a能在运行时链接吗? - 图1

下面就来看看如何创建属于你自己的动态库。