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

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

@H_502_7@

double *x; //Pointing to beginning of allocated memory
int size; //Size of array
@H_502_7@是否有可能编写lua代码(甚至是用于lua的C/C++代码),以便lua的C/C++嵌入式实例能够在数组上的“视图”元素上有效地读/写?

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

@H_502_7@

double y = x[2]; //Reading
x[2] = 3.0; //Writing
int vecSize = x.size(); //Size of array
@H_502_7@不需要内存管理(也不需要).

解决方法

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

猜你在找的Lua相关文章