LuaOO 0.1.1.2更新说明
添加新功能:
对dll插件的支持
Lua的对插件操作如下:
--加载LuaPlugin.dll并执行bool loadPlugin(LuaState*)导出函数
--(注意定义导出函数时要将导出函数放入extern "C"{}的大括号内部,否则会导致查找不到导出函数)
local r,err=LuaPlugin.load("LuaPlugin.dll")
if(r==nil) then
print(err)
end
if(LuaPlugin.isLoaded("LuaPlugin.dll")) then
print("plugin is loaded yet")
end
--卸载LuaPlugin.dll并执行其中bool unloadPlugin(LuaState*)导出函数
r,err=LuaPlugin.unload("LuaPlugin.dll")
if(r==nil) then
print(err)
end
C++中对插件的操作
在LuaState类中有以下函数操作
bool loadPlugin(const char* dllfile);
bool unloadPlugin(const char* dllfile);
bool isPluginLoaded(const char* dllfile);
lua代码示例如下:
function test()
local r,err=LuaPlugin.load("ArrayPlugin.dll")
if(r==nil)then
print(err)
else
print("load array plugin")
end
myarray=MyArray.new(100)
for i=0,99,1 do
myarray:set(i,i+100)
end
print(myarray:get(33))
r,err=LuaPlugin.unload("ArrayPlugin.dll")
if(r==nil)then
print(err)
else
print("unload array plugin")
end
end
test()
项目代码下载地址