【发布时间】:2017-05-30 15:36:36
【问题描述】:
我正在尝试封装一个 C 结构,其中一个成员是指向结构的指针数组,但我在弄清楚如何去做时遇到了问题。
假设 C 代码如下所示:
struct foo
{
unsigned char a;
};
struct bar
{
struct foo *f[5];
};
这种代码有效:
use NativeCall;
class foo is repr('CStruct') {
has uint8 $.a;
}
class bar is repr('CStruct') {
has foo $.f1;
has foo $.f2;
has foo $.f3;
has foo $.f4;
has foo $.f5;
}
但这太可怕了。
CArray 在这里没有用,因为它只是一个指向数组的指针,而不是指针数组;我不能使用像has A @.a 这样的东西,因为repr('CStruct') 不能处理那种属性。
有什么提示吗?
【问题讨论】:
标签: arrays raku nativecall