【发布时间】:2015-05-28 03:37:03
【问题描述】:
我知道有一些使用 LuaJIT FFI 创建指针的示例,但其中大多数都没有指向现有数据。一个这样的例子是这里: How to pass a pointer to LuaJIT ffi to be used as out argument?
我未能成功完成的一件事是创建一个指向现有值的指针。据我所知,为了有一个指针类型,我必须知道我希望在将来的某个时刻有一个指向它的指针,如:
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 的指针,所以我可以正常指定它。
换句话说,有没有办法获取现有值的地址或创建指向现有值的指针?在我创造价值之前,我是否必须预见我将如何处理它?
谢谢!
【问题讨论】: