--事物的难度远远低于对事物的恐惧!
在上节,我们分析了编译过程,编译完成后得到目标文件,而此时的目标文件并不能马上执行,还需要最后一步:链接。
首先来思考一个问题:工程中的每个C语言源文件被编译后生成的目标文件,这些目标文件如何生成最终的可执行程序?
这就需要这节我们将要分析链接器。
链接器:
链接器的主要作用是把各个模块之间相互引用的部分处理好,使得各个模块之间能够正确的衔接。
链接又分为静态链接和动态链接
静态链接:
-由链接器在链接时将库中的内容直接加入到可执行程序中
-优点:可执行程序的执行可脱离库文件直接运行
-缺点:每次软件的升级,都需要重新编译链接整个工程
linux下创建和使用静态链接库的步骤如下:
-编译静态库源码:gcc -c lib.c -o lib.o<