NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
dynamic_library类 参考

动态链接库加载器 更多...

#include <dynamic_library.hpp>

Public 成员函数

 dynamic_library (string pth)
 构造函数,打开指定的动态库
 dynamic_library (dynamic_library &&other) noexcept
 移动构造函数
dynamic_libraryoperator= (dynamic_library &&other) noexcept
 移动赋值运算符
template<typename T>
to_symbol (const string &name) const
 获取符号
NEFORCE_NODISCARD void * symbol (const string &name) const
 获取原始符号地址
NEFORCE_NODISCARD bool has_symbol (const string &name) const noexcept
 检查符号是否存在
NEFORCE_NODISCARD bool is_open () const noexcept
 检查动态库是否已加载
void unload ()
 卸载动态库
NEFORCE_NODISCARD void * native_handle () const noexcept
 获取原生句柄
NEFORCE_NODISCARD const stringpath () const noexcept
 获取库文件路径

详细描述

动态链接库加载器

支持动态库的加载、卸载和符号解析操作。

在文件 dynamic_library.hpp50 行定义.

构造及析构函数说明

◆ dynamic_library() [1/2]

dynamic_library::dynamic_library ( string pth)
explicit

构造函数,打开指定的动态库

参数
pth动态库路径
异常
dynamic_library_exception加载失败时抛出

引用了 dynamic_library().

被这些函数引用 dynamic_library(), dynamic_library() , 以及 operator=().

◆ dynamic_library() [2/2]

dynamic_library::dynamic_library ( dynamic_library && other)
noexcept

移动构造函数

参数
other被移动的对象

引用了 dynamic_library().

成员函数说明

◆ has_symbol()

NEFORCE_NODISCARD bool dynamic_library::has_symbol ( const string & name) const
noexcept

检查符号是否存在

参数
name符号名称
返回
符号是否存在

引用了 name().

◆ is_open()

NEFORCE_NODISCARD bool dynamic_library::is_open ( ) const
inlinenoexcept

检查动态库是否已加载

返回
是否已加载

在文件 dynamic_library.hpp124 行定义.

◆ native_handle()

NEFORCE_NODISCARD void * dynamic_library::native_handle ( ) const
inlinenoexcept

获取原生句柄

返回
平台相关的动态库句柄

在文件 dynamic_library.hpp135 行定义.

◆ operator=()

dynamic_library & dynamic_library::operator= ( dynamic_library && other)
noexcept

移动赋值运算符

参数
other被移动的对象
返回
自身引用

引用了 dynamic_library().

◆ path()

NEFORCE_NODISCARD const string & dynamic_library::path ( ) const
inlinenoexcept

获取库文件路径

返回
路径字符串

在文件 dynamic_library.hpp141 行定义.

◆ symbol()

NEFORCE_NODISCARD void * dynamic_library::symbol ( const string & name) const

获取原始符号地址

参数
name符号名称
返回
符号地址
异常
dynamic_library_exception符号不存在时抛出

引用了 name().

被这些函数引用 to_symbol().

◆ to_symbol()

template<typename T>
T dynamic_library::to_symbol ( const string & name) const
inline

获取符号

模板参数
T符号类型(函数指针类型)
参数
name符号名称
返回
符号地址,转换为指定类型
异常
dynamic_library_exception符号不存在时抛出

在文件 dynamic_library.hpp101 行定义.

引用了 name() , 以及 symbol().


该类的文档由以下文件生成: