模块 dll

require "dll"

公开 API

API实现说明
dll.versions_dll_version返回 dll 外部库加载器版本串
dll.loads_dll_load加载外部 dll/so 并按约定入口注册为 Lua 模块:dll.load(path, name),调用 luaopen_,写入 package.loaded[name] 与 _G.
dll.requires_dll_requiredll.load 的别名,语义对齐 require(加载并缓存到 package.loaded)
dll.unloads_dll_unload从 package.loaded 移除某模块:dll.unload(name),返回 true
dll.paths_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")
← 返回模块索引