問題タブ [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

私は2つのファイルを持っていclient.valaますlib.vapi.
VAPI はクラス (通常は C コードと対話する) を定義します。

そしてclient.valaクラスを使用します:

プログラムをコンパイルしようとすると、次のエラーが発生します。

コンパイラは、 の関数用に生成されたヘッダーを必要としているようですclient.vala

これはバグですか、それとも何か不足していますか?

0 投票する
1 に答える
111 参照

vala - #define ポインター アドレスのバインディングを作成する

私のガイドとして、Vala マニュアルの優れた記事を参考にして、いくつかのカスタム vapi 定義を作成します。しかし、次のような 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 でインスタンスを暗黙的に渡す

ライブラリの VAPI を作成しようとしていmongocます。

いくつかの関数が関連付けられた構造体からいくつかのコンパクトなクラスを作成しました。たとえば、Client次のようになります。

関連する関数の束もバインドする必要があります。次のように、それらをインスタンスメソッドとしてバインドしようとしました:

結果は次のようになります。

client最初のパラメーターを呼び出し元のインスタンスとして取得したかったのです。これの代わりに:

私はこれを取得しようとしています:

this、静的メソッド、およびその他の調整を使用してみinstance_posましたが、そのように機能させる方法が見つかりませんでした。

Valaのパラメータとしてインスタンスを暗黙的に渡すことは可能ですか? その場合、インスタンスが冗長性なしで暗黙的に渡されるように VAPI をバインドするにはどうすればよいですか?

0 投票する
1 に答える
34 参照

enums - VAPI バインディングで新しい列挙型を宣言する

VAPI ファイルで (C にバインドするのではなく) まったく新しい列挙型を宣言したいと思います。しかし、私が書くとき

値を使用しようとすると、Vala は既に宣言されている値を参照しようとし、C コンパイラのステップですぐにエラーになります。

Vala が宣言されていない値を参照するのではなく、新しい値を使用するようにするにはどうすればよいでしょうか?