何时使用动态库和静态库在C ++中创建类库时,可以在动态(.dll,.so)和静态(.lib,.a)库之间进行选择。它们之间有什么区别,何时适合使用哪种?
3 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
静态库会增加二进制代码的大小。它们总是被加载,并且您编译的代码的任何版本都是将运行的代码的版本。
动态库分别存储和版本化。如果更新被认为与原始版本二进制兼容,则可能会加载一个与您的代码一起提供的原始动态库版本。
另外,动态库不一定要加载 - 它们通常在第一次调用时加载 - 并且可以在使用相同库的组件之间共享(多个数据加载,一个代码加载)。
大多数时候动态库被认为是更好的方法,但最初他们有一个主要的缺陷(谷歌DLL地狱),它已被最近的Windows操作系统(特别是Windows XP)淘汰。
- 3 回答
- 0 关注
- 724 浏览
添加回答
举报
0/150
提交
取消