何时使用动态库与静态库

2024-03-07

在 C++ 中创建类库时,可以选择动态 (.dll, .so)和静态(.lib, .a)图书馆。它们之间有什么区别,什么时候适合使用哪个?


静态库会增加二进制文件中代码的大小。它们总是被加载,并且无论您编译的代码版本是什么,都是将运行的代码版本。

动态库单独存储和版本控制。加载的动态库版本可能不是代码附带的原始版本if该更新被视为与原始版本二进制兼容。

此外,动态库不一定要加载——它们通常在第一次调用时加载——并且可以在使用同一库的组件之间共享(多个数据加载,一个代码加载)。

动态库在大多数情况下被认为是更好的方法,但最初它们有一个重大缺陷(google DLL hell),该缺陷几乎已被更新的 Windows 操作系统(特别是 Windows XP)所消除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时使用动态库与静态库 的相关文章

随机推荐