静态链接 vs 动态链接

语法 优势 劣势
静态编译 gcc -static main.c -o main_static 1. 符号冲突编译器可以发现
2. 程序启动和运行速度略快
3. 没有版本兼容问题
1. 更新子模块需要重新编译主程序
2. 程序体积较大(磁盘上和内存中都大
动态编译 gcc main.c -o main_dynamic 1. 更新子模块不用重新编译主程序
2. 程序体积相对较小(磁盘上和内存中都小)
1. 符号冲突无法被编译器发现
2. 程序启动和执行过程相对略慢(1%~5%)
3. 存在版本兼容问题

https://pediaa.com/what-is-the-difference-between-static-and-dynamic-linking/

https://zhuanlan.zhihu.com/p/553405380

https://www.zhihu.com/question/21755487/answer/2638308610

posted @ 2022-12-02 14:06  天下太平  阅读(51)  评论(0)    收藏  举报