搜索

pdf文档 Dynamically Loaded Libraries Outside the Standard

3.98 MB 100 页 0 下载 61 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pdf
3
摘要
文档讨论了动态加载库在标准之外的使用及其标准化的重要性。动态加载库可以通过不同的级别实现,包括延迟加载和外国链接模块。文档指出,动态链接与动态加载在物理实现和加载时间上有所不同。动态加载库在不同平台上(如DLL、.so、.dylib)有不同的实现方式,但它们都面临地址变化、对象模型不兼容和违反单一定义规则等挑战。标准化可以为这些用例带来类型安全和可移植性。
AI总结
《动态加载库:标准之外》 文档主要探讨了动态加载库(Dynamic Libraries)的特点及其在标准之外的应用场景。核心观点如下: 1. **动态加载库的特点** - 动态加载库在标准之外,但具有实用价值。 - 它提供了更高的动态性和灵活性,但也可能带来一些挑战,例如地址变化、函数生命周期管理等问题。 2. **动态层次分类** - **延迟加载(Delay Loading)**:按需加载依赖库,减少启动时间。 - **外国链接(Foreign Linkage)**:显式加载外部函数,可能违反单一定义规则(ODR)。 - **插件(Plugins)**:支持加载多个定义,适用于扩展功能。 - **热更新(Live Update)**:支持动态卸载和更新,但面临生命周期和TLS实现的挑战。 3. **动态加载与动态链接的区别** - 动态链接:在加载时完成重定位,属于程序的物理结构部分。 - 动态加载:按需获取功能,通常在运行时完成重定位,支持卸载。 4. **动态加载的实际应用** - 动态加载库在主流平台上具有广泛的应用场景。 - 通过标准化可以提升其类型安全性和可移植性。 总结:动态加载库虽然在标准之外,但通过合理的抽象和应用,能够为程序提供更高的动态性和扩展性。尽管存在一些技术挑战,但其在实际开发中具有重要价值。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 88 页请下载阅读 -
文档评分
请文明评论,理性发言.