NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
dynamic_library_import.hpp 文件参考

动态库符号导入宏工具 更多...

dynamic_library_import.hpp 的引用(Include)关系图:

浏览该文件的源代码.

宏定义

#define NEFORCE_DLL_IMPORT(ret, name, lib, sym)
 从动态库导入函数符号
#define NEFORCE_DLL_IMPORT_OR(ret, name, lib, sym, default_val)
 从动态库导入函数符号,失败时返回默认值

详细描述

动态库符号导入宏工具

提供便捷宏用于从动态库中导入函数符号。

在文件 dynamic_library_import.hpp 中定义.

宏定义说明

◆ NEFORCE_DLL_IMPORT

#define NEFORCE_DLL_IMPORT ( ret,
name,
lib,
sym )
值:
const auto name = (lib).template to_symbol<ret>(sym)

从动态库导入函数符号

参数
ret返回类型
name变量名(作为符号在代码中的名称)
lib动态库引用
sym符号名称(动态库中的实际符号名)
dynamic_library dll("myplugin.so");
NEFORCE_DLL_IMPORT(int, my_func, dll, "my_function");
int result = my_func(42);
#define NEFORCE_DLL_IMPORT(ret, name, lib, sym)
从动态库导入函数符号

在文件 dynamic_library_import.hpp28 行定义.

◆ NEFORCE_DLL_IMPORT_OR

#define NEFORCE_DLL_IMPORT_OR ( ret,
name,
lib,
sym,
default_val )
值:
const auto name = (lib).has_symbol(sym) ? (lib).template to_symbol<ret>(sym) : (default_val)

从动态库导入函数符号,失败时返回默认值

参数
ret返回类型
name变量名
lib动态库引用
sym符号名称
default_val符号不存在时的默认值

在文件 dynamic_library_import.hpp39 行定义.