我正在尝试为Cgraph创建Perl6绑定,并且其中一个结构为其某些属性设置了位字段,其值小于8。如何在模块中表示该字段?
我尝试使用is nativesize(x)特征定义自定义类型,但是CStructs仅支持8位宽倍数的类型。
C示例代码:
struct Agtag_s {
unsigned objtype:2;
}
Run Code Online (Sandbox Code Playgroud)
我试过的
my native objtype is repr('P6int') is Int is nativesize(2) is export { }
class Agtag is repr('CStruct') is export {
has objtype $.object-type;
}
Run Code Online (Sandbox Code Playgroud)
尝试将我的模块与该代码一起使用会失败,并显示以下错误消息:
CStruct only supports native types that are a multiple of 8 bits wide (was passed: 2)