Как я могу создать указатель на существующие данные, используя LuaJIT FFI?
Я знаю, что есть примеры создания указателей с использованием LuaJIT FFI, но большинство из них не указывают на существующие данные. Один такой пример этого здесь:Как передать указатель на LuaJIT ffi для использования в качестве аргумента out?
Одна вещь, которую я не смог успешно сделать, это создать указатель на существующее значение. Чтобы иметь тип указателя, насколько мне известно, я должен знать, что я хочу иметь указатель на него в какой-то момент в будущем, например:
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
так что я могу просто указать это нормально.
Другими словами, есть ли способ получить адрес или создать указатель на существующее значение? Должен ли я предвидеть, что я буду делать со значением, прежде чем создавать его?
Спасибо!