使用Lua C API将现有的C变量绑定到Lua
Bind existing C variable to Lua using Lua C API
几年前,我使用luabind将C++对象绑定到Lua,反之亦然。有一种方法可以将现有的(通过C++代码中的新运算符分配的)对象绑定到Lua,并在类似的脚本中使用它
binded_object.property = new_value
现在我正在进行一个新项目,我想在其中添加一些脚本。为了简单起见,不需要助推或任何沉重的模板。所以我的问题是如何只使用LuaCApi?
不幸的是,我遇到的所有例子都展示了如何将自定义C++类型绑定到Lua,然后在脚本中创建该类型的新对象,并最终将该对象返回到C++。
您想要SWIG。没有Boost,没有沉重的模板,只有你想要的所有绑定,为你的方便自动生成。
现在,您的问题还不完全清楚:"只有Lua C Api",您的意思可能是"在我自己编写的代码中手动进行所有Lua C Api调用"。如果这就是你的意思,那就从去过那里的人那里得到:你实际上并不想这么做。这很难而且没有回报,而且你什么都得不到。使用SWIG。如果需要,可以手动编辑它生成的绑定,但要使用SWIG。
相关文章:
- 当使用Lua作为嵌入式语言(比如c++)时,有什么简单/方便的方法可以找到变量在Lua中的定义位置吗
- 如何在C++中正确设置Lua局部变量
- 通过require在不同的Lua状态之间共享全局变量
- 如何从 Lua 访问运行 Lua 脚本的类的变量
- 在C 函数中打印一个来自LUA的静态变量
- 使用LUA中使用后缺少的全局变量
- 如何在LUA C API中分配全局LUA函数变量
- 从C++调用 Python 或 Lua 来计算表达式,仅在需要时计算未知变量
- 加载 Lua 文件并使用变量而不执行函数
- 如何在不运行的情况下识别LUA脚本中的非初始化变量
- 使用Lua定义C++游戏中对象的变量
- 从C 访问功能环境中的LUA变量
- 如何从C++中过滤掉Lua中用户定义的全局变量
- 将 Lua 中的变量提取到C++中
- Lua、元表和全局变量
- c++lua设置全局变量时出错
- Lua中变量的内存RAM地址
- 将变量命名为Lua
- 在Lua中跟踪变量以进行读访问,以启动用户定义的c++方法/函数
- 如何将Lua变量直接映射到C++变量