Lua有很多封装.其中的利弊已经有不少介绍.只是提一下luaplus.本来期望值蛮高的.但后来发现文档质量不高.sample编译不过去.不过调试功能做的比较强..
最后选择了LuaTinker.一个韩国人写的.2个文件.5个sample.简单清晰.赞一个.~
首先试验了几个基本功能.都没什么问题.
当时比较疑惑的几个问题是.在lua中可以使用指针么?可以使用c++中的数据结构么?.
lua中的函数可以以指针为参数么?
结论是可以的.不过跟强大的luabind比起来.luatinker没有对导出枚举提供支持.
但其他方面功能并不差.
比如c++中有类A
- class A
- {
- public:
- A() {}
- void test();
- private:
- A( const A& ) {}
- }
lua中定义
但如果以对象引用为参数的时候发现对象被复制了
..
- A& ra = a;
- lua_tinker::call<void>(L, "lua_func", ra);
这里的 ra没有像引用一样工作 .而是以值传递的方式进入的函数
这就奇怪了..于是开始读代码
代码就不贴了.不过很显然的是.在LuaTinker里有写一堆处理引用的偏特化.也就是表明应该是考虑过引用的.