我想与一些对某些结构字段使用某种联合类型的库进行交互,例如:
typedef struct {
H5L_type_t type; /* Type of link */
hbool_t corder_valid; /* Indicate if creation order is valid */
int64_t corder; /* Creation order */
H5T_cset_t cset; /* Character set of link name */
union {
haddr_t address; /* Address hard link points to */
size_t val_size; /* Size of a soft link or UD link value */
} u;
} H5L_info_t;
我没有在Squeak FFI中看到任何形式的支持。
我是否应该自己确定最长的会员人数并坚持下去?
答案 0 :(得分:0)
因此,在仔细检查源代码后,我可以看出在Squeak FFI中没有对union的支持。
这不一定要保持这样,所以我发布了Squeak FFI更新以支持工会。
见http://source.squeak.org/FFI/FFI-Kernel-nice.50.diff
ExternalUnion
基本上与ExternalStructure
(作为子类)共享相同的代码,除了它使用常量byteOffset
和max:
运算符来累积总字节大小,迭代字段时,而不是带byteOffset
运算符的递增+
。