Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua脚本到C++;代码_C_Lua_Stack - Fatal编程技术网

Lua脚本到C++;代码

Lua脚本到C++;代码,c,lua,stack,C,Lua,Stack,我正在为Lua编写C函数。 我有很多电话,比如lua_gettable、lua_Tuserdata等 我的C函数可能会接收复杂的结构,比如以表为字段的表 对我来说给这台机器编程很难 有没有办法写一个可以转换成C代码的Lua脚本 或者其他一些工具,可以帮助我为lua脚本编写这样的C函数 谢谢 PS 下面是一个例子:- local data = {} data.x = {} data.x.y = 1 myCfunc(data) 而不是 function myCfunc(data) y = da

我正在为Lua编写C函数。 我有很多电话,比如lua_gettable、lua_Tuserdata等

我的C函数可能会接收复杂的结构,比如以表为字段的表

对我来说给这台机器编程很难

有没有办法写一个可以转换成C代码的Lua脚本

或者其他一些工具,可以帮助我为lua脚本编写这样的C函数

谢谢

PS

下面是一个例子:-

local data = {}
data.x = {}
data.x.y = 1
myCfunc(data)

而不是

function myCfunc(data)
 y = data.x.y
end
我真正的代码要复杂得多,我正在寻找一些
自动代码生成将对我有所帮助。

从C#开始,我所做的是编写代码,将LUA数据结构转换为JSON格式。然后我可以通过任何JSON库加载数据,以及它们的所有提示。这是一种全面的解决方案,但您只需编写一次JSON编码代码。

也许会有所帮助。

试试。

SWIG简化包装器和接口生成器
它通常用于C到Lua,但通过定义一些全局变量,您可以将其用作Lua到C

等待,wat?你有什么问题?如果你能用Lua写,那就用Lua写——为什么你需要用C写呢?我正在创建Lua调用的C函数。我很难做这样的工作。实际上,我为lua脚本制作了许多C函数。我不能用lua编码。我使用lua调试我的应用程序。错误。。。这根本不是他问的问题。他想知道如何将Lua代码转换成C,而不是将Lua表转换成JSON对象。他说“我的C函数可能会接收复杂的结构,比如以表为字段的表。”这很难做到。虽然简化该用法的建议并不是对他的问题的直接回答,但它可能仍然有用。JSON太粗糙了。我可以编写C代码,但我相信LUA解释器可以更有效地将LUA脚本转换为C调用。因此,有可能通过某种方式实现这一点。LUA不是唯一的堆栈机器。一定有一些工具可以帮助编写这样的系统。谢谢。但这不是我想要的。当我希望以更简单的方式阅读复杂的lua struct时,tolua将围绕C类生成包装器。谢谢!这就是我要问的!
function myCfunc(data)
 y = data.x.y
end