lua与C++交互
2017-10-18 17:18
369 查看
luaplus
LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。使用LuaPlus在C++项目中集成Lua脚本
luaJIT
luajit ffi
luajit ffi 小结nua
LuaBind
LuaBind 是一个帮助你绑定C++和Lua的库.她有能力暴露 C++ 函数和类到 Lua . 她也有能力支持函数式的定义一个Lua类,而且使之继承自C++或者 Lua. Lua类可以覆写从 C++ 基类继承来的虚函数. 她的目标平台是Lua 5.0 ,不能支持Lua 4.0 . 她利用模板原编程技术实现.这意味着,你不需要额外的预处理过程去编译你的工程(编译器会替你完成全部的工作).这还意味着,你也不需要(通常)知道你注册的每一个函数的精确的签名.因 为,LuaBind库会在编译时生成所需的代码.这样做的不利点是,编译时间会随着需要注册的文件的数目增加而增加.因此建 议你把所有的需要注册的东西放到一个cpp文件里面.
LuaBin支持:
* 重载自由函数
* C++类导入Lua
* 重载成员函数
* 操作符
* 属性
* 枚举
* Lua函数导入C++
* Lua类导入C++
* Lua类(单继承)
* 从Lua或C++类继承
* 覆写C++类的虚函数
* 注册类型间隐式的类型转换
* 名匹配
* 返回值策略和参数策略
BIN_LuaBind
BIN_LuaBind是一个和luabind、tolua++类似的库,提供了简洁的C/C++到lua的绑定机制,但与之不同的是BIN_LuaBind比他们更安全:lua层不在直接依赖于C/C++层指针,避免野指针引起宕机。除此之外,BIN_LuaBind对Lua提供了对lua_state,user data和table的抽象类,在C++端能方便的操作luaLuatinkerE
Lua-C++绑定库”lua_tinker”的C++14和Lua 5.3扩展版本。使用大量C++14特性Variadic Template 和 index_sequence, SFINAE enable_if 和 type_traits, tuple, function, forward_ref, decltype(auto)。
通过vc2015,gcc5.0,clang3.6编译
new feature 新特性一览:
导入lua的函数,现在支持任意多的参数
支持的read/push的元素类型增加std::string,std::function,lua_function_ref,stl容器,std::shared_ptr对象
支持最多16个参数的非精确匹配的函数重载(c++类型downcast到lua类型后生成签名), 支持普通函数、类成员函数、构造函数
支持函数默认参数及带默认参数的重载函数的匹配
移除int64相关函数,使用lua5.3的luaInterager来替代
支持调用lua函数时返回多个返回值用tuple包裹
支持通过宏定义打开类型一致性检查和常量类成员函数检查
支持通过宏定义允许已注册的shared_ptr对象调用类成员函数
支持类静态函数注册
支持类静态变量注册
支持property注册
支持继承多个父类,查找时根据顺序依次查找,深度优先
支持注册namespace及内的函数/变量/枚举/类
支持注册嵌套的类
支持在lua中扩展已经注册的类
支持在lua中注册一个新类继承已经注册的类
luawrapper
eluna
相关文章推荐
- Lua与C++交互初探之Lua调用C++
- Lua与C/C++的交互
- c++ 与 lua 简单交互1 (LUA CAPI)
- 【COCOS2DX-LUA 脚本开发之十一】C/C++与Lua之间进行数据函数交互以及解决“PANIC: unprotected error in call to Lua API (attempt t
- Lua与C++的交互
- Lua和C++交互
- lua 与 c/c++ 交互(4)将lua作为一种配置文件
- lua 和 c/c++ 交互 (持续更新)
- cocos2d-Lua与c++交互,lua如何绑定C++类。
- C++与Lua交互(二)
- VS2012实现C++与Lua交互
- c++与lua交互
- Lua和C++交互详细总结
- Lua 与 C/C++ 交互
- Lua与C++交互初探之C++调用Lua
- Lua与C++的交互的具体操作
- Lua 与C/C++ 交互系列:动态注册枚举enum到Lua Code中,在运行时在Lua Code中获取内省信息
- C++ 和lua交互学习的三个例子
- Cocos2d-x开发系列 HYBrid模式四 C++和Lua的数据交互
- lua 与 c/c++ 交互(2)c/c++ 调用 lua