从c++应用程序自动构建Lua api
autobuild of Lua api from C++ application
我有一个c++应用程序,我想为这个应用程序设计和提供Lua api,有一些工具可以帮助我吗?也许有一种方法可以标记一些方法并将它们暴露给Lua API层?对于其他语言,我看到的工具可以在解析代码后生成api,有类似的东西为Lua?
我真的很欣赏lubridge的轻量级方法,它只包含一个(一个!)头文件,包括在您的应用程序
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();
}
查看SWIG。根据您的需要和如何"清除"您的C/c++头文件,您可以将整个。h文件提供给SWIG或选择您想要导出到Lua的函数/类(如在这个基本示例中):
%module example
%{
#include "example.h"
%}
int gcd(int x, int y);
extern double Foo;
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- 无法在 CLion 中构建 C++ 项目
- 函数向量_指针有不同的原型,我可以构建一个吗
- 如何使用ndk-build.cmd构建Android.so文件
- libssh 的函数在构建 libssh 时无法在 Qt 和 cmake 错误中找到
- 使用cmake从源代码构建MySQL连接器/C++失败(与以前的声明冲突)
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 构建可组合有向图(扫描仪生成器的汤普森构造算法)
- 无法使用Qt Creator在Windows中构建yaml-cpp
- 构建一个由C和C++文件组成的库
- C++Lua用户数据扰乱了Mathfu浮点值
- llvm构建器向基本块添加终止符
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- 如何跨平台将二进制资源构建到程序中?
- 将 OpenCV 与 CMAKE 中的项目一起构建为第三方库的正确方法
- 如何解决 Ninja c++ 构建和执行问题
- 如何使用库"lfs"构建lua 5.3?
- 在C 中构建并运行C -C 脚本(而不是LUA)
- 在Visual Studio 15社区中构建Lua的解决方案/项目结构
- 从c++应用程序自动构建Lua api