22

私はどこかで、PHPが単に十分に高速でない場合があり、コンパイルされたコードが「面倒な作業を行う」必要がある場合があることを読んでいました。

これを行うための C++ の API は何ですか?

4

4 に答える 4

42

Cでプログラムされた関数/クラスをPHPに追加できます(また、CからC++クラスをラップできます。以前に読んだ記事から正しく覚えている場合)。まあ、PHPコードを解釈する必要はありません。マシンコードの実行のみであり、一般的にははるかに高速です。

そのためには、 PHP 拡張機能を開発する必要があります。

それについてインターネット上で利用できるリソースはそれほど多くありませんが、これらはあなたが始めるのに役立つかもしれません:

そして、特にC++部分については、これも役立つかもしれません:

このテーマに本当に興味があり、お金を使う準備ができている場合は、PHP の拡張と埋め込みという本を購入することもできます (一部のページは Google ブックスでもプレビューとして利用できます)。このテーマに興味があるときに読むべき本であると何度か見たことがあります(実際、私は少し前にそれを購入しましたが、それは興味深い読み物です)

ちなみに、その本の著者は、私がリンクした最初の 4 つの記事の著者でもあります ;-)

于 2009-10-01T06:44:12.397 に答える
12

コンパイルされたアプリケーションを実際に API なしで実行できます。

$output = exec('/path/to/yourapp');

さらに、いつでも PHP 拡張機能を作成できます。このテーマに関する優れたガイドがここにあります: http://devzone.zend.com/article/1021

于 2009-10-01T06:43:53.303 に答える
9

swig、Simplified Wrapper および Interface Generatorは、(既存の) c++ を php モジュールにラップするのに役立ちます。

SWIG は、C および C++ で記述されたプログラムをさまざまな高級プログラミング言語に接続するソフトウェア開発ツールです。SWIG は、Perl、PHP、Python、Tcl、Ruby などの一般的なスクリプト言語を含むさまざまな種類の言語で使用されます。
于 2009-10-01T09:48:11.013 に答える
1

何をしようとしているのかを定義していませんが、C++ インターフェイスが必要な場合は、ソース コードの ext ディレクトリを見て、PHP スクリプトから読み込んで使用できる PHP 拡張機能の記述方法を理解してください。 .

役立つリンクがいくつかあります。

http://www.devarticles.com/c/a/Cplusplus/Developing-Custom-PHP-Extensions-Part-1/ http://devzone.zend.com/article/1021

于 2009-10-01T06:46:59.133 に答える