1. 预处理的一点理解


c++预处理展开的头文件是公开的,它只有声明,没有实现。实现是在头文件对应的同名.c文件中,只不过不会展现给我们,直接编成库了。库其实就是上节讲的将.c变成.o然后一起打包
2.动静态库,动静态链接

动态链接是在编译时链接的(将对应库中对应函数的地址写入代码,在代码运行时直接跳转到对应库中对应函数实现处)


3.对比优劣

4.验证




5.其他问题
这里再谈c++

动静态库再内存中的运行

6.库浅显理解
以下代码为一体



但我不想暴露源文件.c





将用到的函数的头文件、.o文件放出
将要执行代码的文件的头文件、要执行代码的文件中用到的函数的头文件、.o文件放到同一个目录下进行链接。然后将要执行代码的文件的.o文件、要执行代码的文件中用到的函数的.o文件放在一起链接形成新可执行文件。这样就不会暴露源文件,而且还能让程序运行
库的本质是:将多个.o文件进行了打包(后面学将.o文件打包的指令)。库就是.o文件
链接的本质就是:将要执行文件的.o文件与要执行文件内用到的库内函数的.o文件放到一起合并(所有的.o文件)链接
系统所有头文件
系统所有库文件(.o)

7.make

如果源代码太多,编译麻烦

