我知道有一些使用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
的指针,因此我可以正常指定它。
换句话说,是否有一种方法可以获取现有值的地址或创建指向它的指针?我必须预见到我将要对该值进行的操作吗?
谢谢!