Compartilhe Array entre lua e C

Eu pesquisei essa pergunta no Google, mas nunca consegui uma solução.

Eu quero compartilhar uma matriz entre C e Lua, para o desempenho eu vou evitar copiar matrizes de e para Lua.

Então eu quero passar um ponteiro para o Array de C para Lua. E a partir de Lua eu quero definir / modificar valores neste array diretamente.

Exemplo no código C

Eu quero definir minha matriz

int mydata[] = {1,2,3,4} 

defini-lo global para acessá-lo a partir de Lua com o nomemydata.

Em lua

Eu quero mudar os valores como este

mydata[3] = 9

e quando eu volto para C,mydata[3] é 9 porque é um ponteiro para o array.

Como isso é possível?

questionAnswers(1)

yourAnswerToTheQuestion