静态链接 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/

浙公网安备 33010602011771号