静态库
静态库在程序编译时,直接将库中的代码链接到可执行程序中。
- 优点:可执行程序直接运行,不需要额外链接,运行速度快
- 缺点:加入多个程序共同使用同一个静态库,相当于把多段相同的代码保存在不同的可执行程序中,在空间上有一定浪费。
1.使可执行程序运行速度快
2.浪费一定的空间
动态库
可执行程序只保存对应的函数引用表,只有程序执行时,再链接对应的库。
- 优点:多个可执行程序共用同一个库,节省内存。
- 缺点:运行可执行程序需要额外做一次链接操作,执行速度相对慢。
1.节省空间
2.运行速度相对较慢
静态库牺牲了空间效率,换取了时间效率;动态库牺牲了时间效率,换取了空间效率。没有好坏区别,只看具体需要。
使用静态库,提升了速度,浪费了内存。
使用动态库,降低了速度,节约了内存。