在处理外部代码时,我需要获取一个类似以下形式的 C 结构体的指针:
typedef struct {
int two;
int nd;
char typekind;
...
} PyArrayInterface;
显然,
int
的大小是未知的。我如何在Rust中表示这个结构体?可能是i32
,但有一天我可能会遇到ILP64数据模型...目前我的唯一想法是创建一个枚举来包装结构体,在运行时检查架构,并执行正确的操作。每次需要从C获取结构体时使用
if
语句和transmute
有点傻,但我目前没有更好的办法...