Releases: abin-z/DynamicLibLoader
Releases · abin-z/DynamicLibLoader
v0.9.5
Release version 0.9.5
New Features:
- Added
has_symbol
function to determine whether a symbol exists - Added
get_variable
function to get variables in a dynamic library, and throws an exception if the variable does not exist - Added
try_get_variable
function to get variables in a dynamic library, and returns nullptr if the variable does not exist - Supports default construction, added
load
function to support delayed loading of dynamic libraries
新功能:
- 新增
has_symbol
函数, 用于判断符号是否存在 - 新增
get_variable
函数, 用于获取动态库中的变量, 变量不存在抛异常 - 新增
try_get_variable
函数, 用于获取动态库的变量, 变量不存在返回nullptr - 支持默认构造, 新增
load
函数, 支持延迟加载动态库
Key Features:
- Cross-platform support: Compatible with Windows and POSIX (Linux/macOS).
- RAII Resource Management: Loads the library on construction and unloads it on destruction.
- Error Handling: Throws detailed std::runtime_error exceptions with platform-specific error messages when failing to load the library or symbols.
- Symbol Caching: invoke() supports symbol caching for improved efficiency.
- Cached and Uncached Interfaces: Use invoke() (cached) or invoke_uncached() (non-cached).
- No Dependencies: Relies solely on the standard library.
主要特性:
- 跨平台支持:兼容 Windows 和 POSIX(Linux/macOS)。
- RAII 资源管理:在构造时加载库,并在析构时卸载。
- 错误处理:当加载库或符号失败时,抛出详细的 std::runtime_error 异常,并附带平台特定的错误消息。
- 符号缓存:invoke() 支持符号缓存,以提高效率。
- 缓存和非缓存接口:使用 invoke()(缓存)或 invoke_uncached()(非缓存)。
- 无依赖:仅依赖于标准库。
v0.9.2
Release version 0.9.2
Key Features:
- Cross-platform support: Compatible with Windows and POSIX (Linux/macOS).
- RAII Resource Management: Loads the library on construction and unloads it on destruction.
- Error Handling: Throws detailed
std::runtime_error
exceptions with platform-specific error messages when failing to load the library or symbols. - Symbol Caching:
invoke()
supports symbol caching for improved efficiency. - Cached and Uncached Interfaces: Use
invoke()
(cached) orinvoke_uncached()
(non-cached). - No Dependencies: Relies solely on the standard library.
主要特性:
- 跨平台支持:兼容 Windows 和 POSIX(Linux/macOS)。
- RAII 资源管理:在构造时加载库,并在析构时卸载。
- 错误处理:当加载库或符号失败时,抛出详细的
std::runtime_error
异常,并附带平台特定的错误消息。 - 符号缓存:
invoke()
支持符号缓存,以提高效率。 - 缓存和非缓存接口:使用
invoke()
(缓存)或invoke_uncached()
(非缓存)。 - 无依赖:仅依赖于标准库。