Lua如何高效地读写C风格动态数组?
- 内容介绍
- 文章标签
- 相关推荐
本文共计236个文字,预计阅读时间需要1分钟。
假设您已经在C/C++代码中分配了一个具有特定格式的动态数组,以下是一个简化的开头内容,不超过100个字:
c// 分配了一个C风格的双打动态数组double *x;// 指向分配的内存起始int size; // 数组大小// 是否有可能编写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元方法.本文共计236个文字,预计阅读时间需要1分钟。
假设您已经在C/C++代码中分配了一个具有特定格式的动态数组,以下是一个简化的开头内容,不超过100个字:
c// 分配了一个C风格的双打动态数组double *x;// 指向分配的内存起始int size; // 数组大小// 是否有可能编写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元方法.
