我有一个 C++ 应用程序,我想为这个应用程序设计和提供 Lua API,有一些工具可以帮助我吗?也许有一种方法可以标记一些方法并将它们暴露给 Lua API 层?对于其他语言,我见过可以在解析代码后生成 API 的工具,Lua 有类似的东西吗?
问问题
124 次
2 回答
4
我真的很欣赏 LuaBridge 非常轻量级的方法,它只包含 1 个(一个!)头文件,可以包含在您的应用程序中
https://github.com/vinniefalco/LuaBridge
https://github.com/vinniefalco/LuaBridgeDemo
/** Declare LUA binding for this class
*
* @param global_lua
*/
void c_entity::lua_bind(lua_State* L) {
getGlobalNamespace(L)
.beginClass<c_entity>("c_entity")
.addFunction("getSpeed",&c_entity::get_linear_speed)
.addFunction("getName",&c_entity::get_name)
.addFunction("getMaxSpeed",&c_entity::get_max_linear_speed)
.addFunction("getAcceleration",&c_entity::get_max_linear_acceleration)
.addFunction("getHull",&c_entity::get_hull)
.addFunction("getArmor",&c_entity::get_armor)
.addFunction("getShield",&c_entity::get_shield)
.addCFunction("getStatus",&c_entity::getStatus)
.addFunction("logTrace",&c_entity::log_trace)
.addFunction("logInfo",&c_entity::log_info)
.addFunction("logDebug",&c_entity::log_debug)
.addFunction("logError",&c_entity::log_error)
.endClass();
}
于 2013-01-04T10:04:59.140 回答