どのように私はValaのプログラミング言語にPHPモジュールを作りますか?
-
27-09-2019 - |
質問
この新しいC#様と言われているのValaと呼ばれる言語、およびC ++やCよりもおそらく簡単には、GCCコンパイラをLinux上でCにダウンコンパイルします。
は素晴らしいですね。今、私は遅いPHPコードはValaの中で作られ、関数としてPHPにインポートできるようにPHP拡張モジュールを作ってそれを使用したい。
どのように私はValaの中でこれを実現するのですか?それも可能ですか?
解決
あなたが使用する必要があるCライブラリのVAPIファイルを(それが存在しない場合)を使用するか、または書き込みする必要があります。 それは非常に簡単です、あなただけの既存の例で監視する必要があります: http://live.gnome.org/Vala /バインドするまたは単に: http://git.gnome.org/browse/ヴァラ/木/ VAPIする
他のヒント
私はValaのを知りませんが、あなたは、ネイティブコードを呼び出す宣言C構造体とポインタはネイティブコードを言ったために、それらを渡し、使用Cは規則を呼び出すという関数を定義することができれば、それが可能でなければなりません。しかし、確かにC / C ++でそれを行うことが容易になります。
編集:そのホームページに述べています。
あなたが他のGObjectベースのライブラリを使用するよりも異なって見えるしませんCアプリケーションからValaのライブラリを使用してC.に直接あなたのライブラリやアプリケーションを書いているかのようにこれは決定的ではないが、ウァラクはValaのソースファイルからCのソースファイルとヘッダファイルを生成します。そこValaのランタイムライブラリではありませんし、アプリケーションがそのユーザーのための追加のランやビルド時の依存関係が存在しない、彼らのtarボールで生成されたCコードを配布することができます。
ですから、私はあなたがおそらくことができると言う思います。
私は他の言語からValaのライブラリを使用する方法の簡単な例を作成しました。
https://github.com/antono/vala-objectする
GOobjectイントロスペクションを経由して自動的に生成されたValaのライブラリのバインディングます。
https://live.gnome.org/GObjectIntrospectionする
の使用がため-PHP-GObjectの、自由!のバインディングを取得します。