动态库 · 函数

定义函数

从动态库中取出函数并设置 restype/argtypes。

调用签名(库, 名称: 'str', 返回类型: 'Any' = '整数', 参数类型: 'Iterable[Any] | None' = None)
ZHONGWEN
PYTHON
Chinese example

中文代码示例

# 案例:定义函数
设 C库 = 动态库.系统C库()
设 绝对值 = 动态库.定义函数(C库, "abs", 返回类型="整数", 参数类型=["整数"])
打印(绝对值(-8))
可直接放进 .cs / .中py 文件运行。转换器会把中文代码交给真实 Python 解释器。
Parameters

参数说明

4 个参数
参数类型 / 传入方式说明
可选 · 默认 无
未声明位置参数或 字段名=值

已加载的 DLL/so/dylib 句柄,例如 动态库.系统C库() 或 DLL.加载DLL("vendor.dll")。

常见错误:漏传或对象为 None 会报 TypeError/AttributeError;先调用对应的创建函数拿到 库 再传入
名称可选 · 默认 无
str位置参数或 字段名=值

动态库导出的函数名,必须与导出符号一致,例如 add、strlen、qlib_tcp_server_init。

常见错误:漏传或函数名拼写错误会报 AttributeError;用 库.全部名称() 确认可用函数
返回类型可选 · 默认 '整数'
Any位置参数或 字段名=值

函数返回值 C 类型;空/void 表示没有返回值。

常见错误:C 类型名拼写错误会报 KeyError;对照 类型清单() 输出确认
参数类型可选 · 默认 None
Iterable[Any] | None位置参数或 字段名=值

按顺序写每个参数的 C 类型;数量和顺序必须与 DLL 导出函数签名一致。

常见错误:C 类型名拼写错误会报 KeyError;对照 类型清单() 输出确认
Playbook

基础用法 · 进阶组合 · 错误排查

# 案例:定义函数
设 C库 = 动态库.系统C库()
设 绝对值 = 动态库.定义函数(C库, "abs", 返回类型="整数", 参数类型=["整数"])
打印(绝对值(-8))