2010-12-30 9 views

答えて

4

あなたはそれを行うことはできますが、それは良い考えではありません。 PHPライブラリ関数は、PHPの内部データ型、メモリ割り当て、管理体系などを処理します。PHPとCの間でデータをマーシャリングするのに多くの時間と労力を費やすことになります。

ほとんどの機能はおそらくとにかくCライブラリで利用可能であるか、またはC言語で簡単に実装されています。また、PHPの機能のいくつかにアクセスするだけで、PHP全体をあなたのプログラムにリンクさせることになるだろうと私は思っています。

確かに可能ですが、おそらくそれ以上の問題はありません。 Cで書いていてCで書いているのであれば、CとPHPの不自然な混乱の中には面白い見た目がたくさんあります。

+0

私はPHPをCに変換して、そのプロセスでPHP Cの関数を使うことができると考えました。 – Ben

+2

言語Xの言語を言語Yに翻訳することは、ほとんど常に可能ですが、結果はそれほど楽しいものではありません(単にf2cを使用した人に尋ねてください)。PHPをCに変換するだけでは必ずしもCレベルの速度や効率が得られません。私が何かを書いているのは、C言語が私のRuby、Perl、JavaScript、SQL、C++、sh(1)とは違ってPHPと違うということです。 「Can」と「should」は同じことを意味するわけではありません。おそらくあなたのソースコードを隠すPHPコンパイラを構築しようとしていますか? –

1

さて、どうしてですか?あなただけの依存関係を解決してください。

もちろん、チェックアウトする価値のあるライセンスがあります。しかし、コード賢明、それは動作するはずです。

3

理論上、問題はなぜそれをしたいのですか? PHP関数はPHPデータ構造体に格納されたデータを処理するため、動作させるためにはさまざまなPHP構造体や設定を初期化する必要があることに注意してください。

PHPにCコードを追加する場合は、writing PHP extensionsをご覧ください。

Cプログラムの中でPHPエンジンを使いたいのであれば、これはembeddingで可能ですが、大部分のタスクは非常に難しいです。

PHP licenseはBSDに似ていますので、ほとんどの場合、ライセンスに従うだけでコードをとることができますが、上記の外部依存性には注意してください。

関連する問題