lua_tinker包括一个.h文件与.cpp文件,实现C++与LUA之间相互调用。采用C++模板实现,绑定函数的参数个数有限制,可以自己扩展。函数绑定到lua中的名称可以自定义,可以与C++中不同,例如加上特定前缀或后缀。除了函数绑定还lua tinker还封装了函数调用,读取设置变量等操作。lua_tinker也是用C++对lua api的封装,lua_tinker可以不作任何修改就可以支持lua5.1。
如果支持lua5.2,需要对其进行修改, 方法是用lua_setglobal和lua_getglobal来替换原来的lua_settable和lua_getglobal。另外lua5.2把lua_open这个宏去掉了,需要直接使用luaL_newstate接口。
在linux平台的编译命令示例:g++ sample3.cpp lua.h lualib.h lua_tinker.cpp -llua
这是lua_tinker的使用例子和源码
lua_tinker