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
如果源代码太多,编译麻烦