首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制Vapi文件中的ref类型

控制Vapi文件中的ref类型
EN

Stack Overflow用户
提问于 2016-06-29 19:28:53
回答 2查看 64关注 0票数 2

我正在尝试编写一个用于MessagePack的Vapi文件,并且有几个问题,第一个问题是,由于其中一个参数的引用类型,结果msgpack_object_print是不正确的。头文件期望

代码语言:javascript
复制
void msgpack_object_print(FILE* out, msgpack_object o);

我的Vapi文件包含

代码语言:javascript
复制
[CCode (instance_pos = 1.1)]
public void print (Posix.FILE out);

生成C输出。

代码语言:javascript
复制
msgpack_object_print (_tmp13_, &obj);

其中objmsgpack_object *类型。这会产生错误。

代码语言:javascript
复制
examples/simple.c:173:34: error: incompatible type for argument 2 of ‘msgpack_object_print’

如果我从生成的C中删除&,那么它就消失了,所以我想知道我的Vapi应该包含哪些内容才能得到正确的输出?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-29 20:49:32

您可以指定您的msgpack_object类为[SimpleType],并且它将通过值而不是引用进行复制。

票数 3
EN

Stack Overflow用户

发布于 2016-06-30 13:16:37

我已经为MessagePack编写了一个部分VAPI,如果您想通过使用和测试它来进行贡献的话。

https://github.com/valum-framework/vala-extra-vapis/blob/msgpack/msgpack.vapi

如前所述,您需要使用类上的[SimpleType]注释来传递类型的值。

编辑:只是在绑定中添加,将它们保存在纳梅库/瓦拉-额外-蒸汽存储库中是件好事。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38108496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档