我正在尝试为 MessagePack 编写一个 Vapi 文件并且遇到了几个问题,首先msgpack_object_print
是由于其中一个参数的引用类型导致结果不正确。头文件期望
void msgpack_object_print(FILE* out, msgpack_object o);
我的 Vapi 文件包含
[CCode (instance_pos = 1.1)]
public void print (Posix.FILE out);
生成 C 输出
msgpack_object_print (_tmp13_, &obj);
obj
类型在哪里msgpack_object *
。这会产生错误
examples/simple.c:173:34: error: incompatible type for argument 2 of ‘msgpack_object_print’
如果我从生成的 C 中删除它,它就会消失&
。所以我想知道我的 Vapi 应该包含什么才能产生正确的输出?