我知道有一些使用 LuaJIT FFI 创建指针的示例,但其中大多数都没有指向现有数据。一个这样的例子在这里: 如何传递一个指向 LuaJIT ffi 的指针作为输出参数?
我无法成功做的一件事是创建一个指向现有值的指针。据我所知,为了有一个指针类型,我必须知道我希望在将来的某个时候有一个指向它的指针,如:
local vao = ffi.new("GLuint[1]")
gl.GenVertexArrays(1, vao)
gl.BindVertexArray(vao[0])
在这里,我知道 glGenVertexArrays 需要一个指向 的指针vao
,所以我将它指定为 GLuint[1]。在 C 中,我将执行以下操作:
GLuint vao;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
在这里,我不知道我需要一个指向 的指针vao
,所以我可以正常指定它。
换句话说,有没有办法获取现有值的地址或创建指向现有值的指针?在创造价值之前,我是否必须预见我将如何处理价值?
谢谢!