问题标签 [vapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
109 浏览

header-files - Valac 缺少生成的标头

我有两个文件,client.valalib.vapi.
VAPI 定义了一个类(通常与 C 代码对话):

client.vala使用类:

当我尝试编译程序时,出现错误:

编译器似乎想要为client.vala.

这是一个错误还是我错过了什么?

0 投票
1 回答
116 浏览

vala - 为 libui 创建 vala 绑定 (vapi) 的问题

我正在尝试编写一个 VAPI 文件以在 Vala中使用 libui ( https://github.com/andlabs/libui )。这是我的第一次尝试:

这是 vala 中的测试代码:

使用“valac --vapidir .--pkg libui main.vala”编译
会出现以下错误:
main.vala.c:(.text+0x3c): undefined reference to `uiInit'

在 libui 的示例 C 代码中是这样的:

我如何在 vala 中制作这个 memset 东西或将其构建到 vapi 文件中?

0 投票
3 回答
66 浏览

vala - 在 vapi 文件中创建信号

我正在尝试编写一个 VAPI 文件以在 Vala中使用 libui ( https://github.com/andlabs/libui )。

我不知道如何将控件中的事件连接到 vala 信号。

在 libui 头文件中,例如关闭窗口,此方法定义:

在 C 示例中,使用方法“onClosing”作为参数调用此方法:

我怎样才能做出类似的东西:

0 投票
1 回答
111 浏览

vala - 为#define 指针地址创建绑定

借助Vala 手册中出色的文章作为我的指南,创建一些自定义 vapi defs 。但我不确定如何翻译这些类似 C 函数的宏:

C 代码gpio这样声明:

我应该将宏声明INP_GPIO(g)为 void 函数,即

或作为代表,如下所示?

从 VAPI 文件的 C 代码派生 Vala 类型时,我应该遵循哪些条件?

更新:随着我继续从事我的 valaIOT 项目,下面提到的 vapis 维护在https://gitlab.com/gpaslanis/valaiot/tree/master/vapis。请在网站上发布建议/更正。我希望你觉得他们有帮助。

0 投票
1 回答
65 浏览

vala - 在 vapi 中隐式传递实例

我正在尝试为mongoc库编写 VAPI。

我从 struct 创建了一些紧凑的类,并带有一些与之关联的函数。例如Client看起来像这样:

我还需要绑定一堆相关的功能。我试图将它们绑定为实例方法,如下所示:

所以结果是这样的:

我希望它将第一个client参数作为调用实例。而不是这个:

我试图得到这个:

我尝试使用this静态方法instance_pos和其他调整,但我没有找到让它以这种方式工作的方法。

是否可以在 Vala 中将实例作为参数隐式传递?如果是这样,我如何以隐式传递实例而没有冗余的方式绑定 VAPI?

0 投票
1 回答
34 浏览

enums - 在 VAPI 绑定中声明一个新的枚举

我想在 VAPI 文件中声明一个全新的枚举(而不是绑定到 C 枚举)。然而,当我写

并尝试使用值,Vala 尝试引用已经声明的值并在 C 编译器步骤中立即出错:

如何解决这个问题,所以 Vala 将使用我的新值而不是尝试引用那些未声明的值?