どのように私はValaのプログラミング言語にPHPモジュールを作りますか?

StackOverflow https://stackoverflow.com/questions/2838628

  •  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の、自由!のバインディングを取得します。

https://github.com/indeyets/gobject-for-phpする

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top