4

Valaと呼ばれるこの新しい言語は、C#に似ており、おそらくC ++やCよりも簡単であると言われており、GCCコンパイラを使用してLinux上でCにコンパイルされます。

いいね。これを使用してPHP拡張モジュールを作成し、遅いPHPコードをValaで作成して、関数としてPHPにインポートできるようにします。

Valaでこれを達成するにはどうすればよいですか?それも可能ですか?

4

3 に答える 3

2

使用する必要のあるCライブラリのVAPIファイルを使用または書き込む必要があります(存在しない場合)。非常に簡単です。既存の例を見る必要があります:http://live.gnome.org/Vala/Bindingsまたは単に:http://git.gnome.org/browse/vala/tree/vapi

于 2011-01-14T18:07:56.363 に答える
2

Valaはわかりませんが、ネイティブコードを呼び出し、C構造体を宣言して、それらをネイティブコードへのポインターとして渡し、C呼び出し規約を使用する関数を定義できれば可能です。しかし、C /C++でそれを行う方が確かに簡単です。

編集:そのホームページは言う

valacは、ライブラリまたはアプリケーションをCで直接記述したかのように、ValaソースファイルからCソースファイルとヘッダーファイルを生成します。CアプリケーションからValaライブラリを使用しても、他のGObjectベースのライブラリを使用した場合と同じように見えます。ヴァラランタイムライブラリはなく、アプリケーションは生成されたCコードをtarballとともに配布できるため、ユーザーに実行時またはビルド時の追加の依存関係はありません。

したがって、これは決定的なものではありませんが、おそらく可能だと思います。

于 2010-05-15T03:07:49.470 に答える
2

他の言語からValaライブラリを使用する方法の簡単な例を作成しました。

https://github.com/antono/vala-object

GOobjectIntrospectionを介して自動的に生成されたvalaライブラリのバインディング。

https://live.gnome.org/GObjectIntrospection

gobject-for-phpを使用して、バインディングを無料で入手してください!

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

于 2012-01-16T19:09:12.920 に答える