模块 dll
require "dll"
公开 API
| API | 实现 | 说明 |
|---|---|---|
dll.version | s_dll_version | 返回 dll 外部库加载器版本串 |
dll.load | s_dll_load | 加载外部 dll/so 并按约定入口注册为 Lua 模块:dll.load(path, name),调用 luaopen_ |
dll.require | s_dll_require | dll.load 的别名,语义对齐 require(加载并缓存到 package.loaded) |
dll.unload | s_dll_unload | 从 package.loaded 移除某模块:dll.unload(name),返回 true |
dll.path | s_dll_path | 返回 package.cpath(共享库搜索路径),可选分隔符:dll.path([sep]) |
示例
local dll = require "dll"
local m = dll.load("./libs/sqlite3.dll", "sqlite3")
print(m.version and m.version())
local sqlite3 = require "sqlite3"
print(dll.path("\n")) -- package.cpath
dll.unload("sqlite3")
← 返回模块索引