我知道有一些使用LuaJIT FFI創建指針的例子,但其中大多數並不指向現有數據。其中一個例子如下: How to pass a pointer to LuaJIT ffi to be used as out argument?如何使用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
,這樣我就可以指定它正常。
換句話說,有沒有辦法獲得現有值的地址或創建指針?在創建它之前,我是否必須預見我將如何處理這些價值?
謝謝!
這就是我所害怕的。我想我只是用這種語法初始化類型!如果我對這種變化過於熱心,我只是擔心數組索引是一個新的性能問題。 –