Boost C++ 库

...世界上最受推崇和专业设计的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu,《C++ 编码标准

PrevUpHomeNext

第 11 章。Boost.DLL

Renato Forti

Antony Polukhin

根据 Boost 软件许可,版本 1.0 分发。(请参阅随附文件 LICENSE_1_0.txt 或访问 https://boost.ac.cn/LICENSE_1_0.txt)

目录

动机
开始入门
教程
插件基础知识
插件中的工厂方法
在多个插件中搜索符号
将插件链接到可执行文件
符号阴影问题 (Linux)
在库卸载时执行回调
查询库的符号
高级库引用计数
从 Windows dll 导入 C 函数
名称修饰导入
支持和要求
名称修饰导入示例
类导入
重载限定符
误用
参考
共享库参考
共享库可计数参考
局限性
导出弱符号(在 MinGW、Android 上失败)
用户定义的节名称(在 SunOS + Oracle Solaris Studio 编译器上失败)
线程安全库加载(在 FreeBSD、MacOS、iOS 和其他一些系统上失败)
嵌套函数定义
常见问题解答
设计原理
跨编译器的 ABI 可移植性
用户插件 API
性能和内存分配
自加载
别名与名称修饰
依赖项
修订历史
致谢

在运行时向现有软件应用程序添加特定功能在许多情况下可能很有用。此类扩展或插件通常使用在运行时加载的动态库模块 (DLL, SO/DSO) 实现。

该库旨在简化以可移植的跨平台方式使用 C++ 进行插件开发。

库提供了一种跨平台的方式来

  • 加载库
  • 导入任何原生函数和变量
  • 为 C++ 名称修饰函数和符号创建别名
  • 查询库的节和导出的符号
  • 自加载和自查询
  • 通过导出的符号获取程序和模块位置

PrevUpHomeNext