我希望将一个表从Lua传递到C,然后访问C中的所有值,而不是将这些值从Lua地址空间复制到C堆栈。有办法做到这一点吗??我想最小化数值的副本。我尝试使用gettable(),但在这种情况下,值被复制到堆栈顶部。因此,正在生成一个副本。我不想这样。还有别的办法吗??lua_gettable(L,-2);
if(lua_isnumber(L,-1)) //Checking top value replaced by fxn i
我有两个lua状态,比如L1和L2,在L1中有一个复杂的表(包含其他表或字符串和数字)。我想通过L2将这张表通过C++传递给它。除了在C++中显式打开整个表,然后一个一个地将条目发送到L2之外,还有其他简单的方法吗?return 1;代码可以工作,但在尝试复制对齐表中的两个表时会出现错误。如果我将对齐表更改为{ H
我在redis.lua中启动Redis连接池,通过从C调用,我得到了一个redis_lua_state,这个Lua状态是全局启动的,而其他线程只能从它得到。当有一个HTTP请求(工作线程)时,我需要从redis_lua_state中获取一个Redis连接,然后新的Lua状态来加载其他Lua脚本,而这些脚本将使用这个redis连接与redis通信,如何做到这一点或者如何设计我的Lua脚本使其变得简单?代码示例:
/* on main thread, to
我来自Lua和Python两种语言,这两种语言都将它们的字符串值视为对象。我只是想知道,字符串值实际上是对象吗?我的意思是,在Lua中,您可以配置它们的元对象并在它们上使用方法,而在Python中,您可以直接说一些类似于print("".format)的话。另一个示例(在Lua中)可以将一个方法添加到字符串值中,如下所示:local proto = {}
print那么,字符串值对象是否与Lua</em