Lua:在lua中有效地操作(读/写)C风格的C分配动态数组

前端之家收集整理的这篇文章主要介绍了Lua:在lua中有效地操作(读/写)C风格的C分配动态数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我已经在C/C++代码中分配了一个C风格的双打动态数组,因此我有:

double *x; //Pointing to beginning of allocated memory
int size; //Size of array

是否有可能编写lua代码(甚至是用于lua的C/C++代码),以便lua的C/C++嵌入式实例能够在数组上的“视图”元素上有效地读/写?

我只需要支持以下C操作:

double y = x[2]; //Reading
x[2] = 3.0; //Writing
int vecSize = x.size(); //Size of array

不需要内存管理(也不需要).

解决方法

当然,将指针导出为userdata并设置__index和__newindex元方法.

猜你在找的Lua相关文章