文章目录
- 1 工作流程
- 2 静态库和动态库连接
- 2.1 静态连接
- 2.2 动态链接
- 3 静态库制作和使用
- 4 动态库的制作和使用
- 5 GDB 调试器
- 6 Makefile
1 工作流程
第一步预处理,生成.i
第二部生成汇编文件.s
第三部生成目标代码.o
第四部生成可执行文件
2 静态库和动态库连接
2.1 静态连接
静态连接:由链接器在链接时将库的内容加入到可执行程序中
优点:对运行环境依赖性较小,具有较好的兼容性。
缺点:生成程序比较大,需要更多的系统资源,在装入内存时会消耗更多的时间。
库函数需要更新,必须重新编译。
2.2 动态链接
动态链接:链接器在链接时仅仅建立所需库函数的之间的链接关系,在程序运行的时候才将所需资源调入。
优点:在需要的时候才会调入
简化程序的升级,有较小的程序体积
实现进程之间的资源共享
缺点:
依赖动态库,不能独立运行
动态库依赖版本问题严重
3 静态库制作和使用
add.h
add.c
sub.h
创建test.c
程序没有问题
制作静态库
打包
打包
链接库
4 动态库的制作和使用
5 GDB 调试器
这样编译有调试信息
n