我真的用谷歌搜索了这个问题,但我从未真正得到过解决方案.
我想在C和Lua之间共享一个数组,为了提高性能,我将避免将数组复制到Lua和从Lua复制数组.
所以我想传递一个指向数组的指针,从C到Lua.然后从Lua我想直接在这个数组中设置/修改值.
C代码中的示例
我想定义我的数组
int mydata[] = {1,2,3,4}
Run Code Online (Sandbox Code Playgroud)
将其设置为全局以从Lua访问它的名称mydata.
在Lua
我想改变这样的值
mydata[3] = 9
Run Code Online (Sandbox Code Playgroud)
当我返回C时,mydata[3]是9,因为它是指向数组的指针.
这怎么可能?