分类: C/C++
2013-02-27 17:28:43
在使用Lua作为XML的补充配置器里面只能提供C++向Lua里面得到东西,即便在Lua使用一些需要C++数据的逻辑时候,也只能是C++主动将这些数据传给Lua,这极大的限制了Lua的功能。为了能够真正的实现全脚本的开发方式,需要一个C++向Lua暴露的中间层,luabind,tolua库就是这样的库,但有一个问题:C++对象的生命期如何跟脚本层协调?前面的库并没有对这个做这样的处理。BIN_Luabind即是为了解决这个问题而写的一个库。
BIN_Luabind库支持:
1 灵活而方便的向Lua导出Module和Class
2 C++通过CScriptHandle,CScriptTable,CScriptUserdata,可以完全的访问Lua
3 支持单继承(现在的版本,需要导出的Class必须是单继承,或者为继承体系的第一个基类,也就是暴露给Lua部分的继承体系的this指针没有偏移)
4 lua可以查看一个对象是否是C++导出的,C++中可查看一个对象当前是否导出到lua
Github :
Dependency :
Not compatible with Lua 5.0, Not test on Lua 5.1
Check the test case in Main.cpp to see how to use it or email me.