ホームページ > バックエンド開発 > PHPチュートリアル > PHP_PHP チュートリアルで Web 経由で C/C++ アプリケーションを実行する

PHP_PHP チュートリアルで Web 経由で C/C++ アプリケーションを実行する

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-07-15 13:22:11
オリジナル
1035 人が閲覧しました

1. はじめに

Unix/Linux についてある程度の知識がある場合は、ほとんどのコンパイラに C コンパイラと C++ コンパイラ (それぞれ GCC と G++) が付属していることを知っているはずです。 Unix では、プログラムのインストールや Make など、さまざまな場所でこれらのコンパイラが使用されます。いくつかのコンソール コマンド、C++ および PHP を使用して、PHP プログラムで実行できる完全な C++ プログラムの例を生成し、対応する出力結果を取得する方法を示します。まず C++ プログラム コードを生成してコンパイルし、次に PHP 関数 passthru を使用してこのプログラムを実行する方法について説明します。ある意味、この記事は、Web ページを通じて一般的なプログラムにアクセスする方法を提供します。

この記事をよりよく理解するには、Apache と最新バージョンの php を実行する UNIX/Linux サーバーが必要です。同時に、C++ と UNIX コンソール コマンドも習得する必要があります。もちろん、PHP プログラミングの経験も必要です。

2. C++ プログラムを作成します

たとえば、コマンドラインからパラメータを受け取ることもできる単純な C++ プログラムを作成し、それに Sampleapp という名前を付けて、それに 3 つのパラメータを渡すことができます。次の方法 異なるパラメータ:

Sampleapp ? パラメータ 1? パラメータ 2? パラメータ 3

このプログラムの機能は、渡されたパラメータの数と各パラメータの値を出力することです。 PHP スクリプトを使用して、コンパイルされた C++ プログラムを実行します。

お気に入りのテキスト エディタを使用して、Sampleapp.cpp という名前の新しいファイルを作成し、このファイルに次のコードを入力します:

#include

int main(int argc, char* argv [])

{

cout <

cout << (argc-1 == 1 ?) << " <

<

;for(int;

return 0;

この C++ プログラムには main()、main( ) 関数が含まれていますargc (コマンドラインから渡されるパラメータの数) と argv (渡されるパラメータの実際の値を含む文字ポインタの配列) の 2 つのパラメータを取ります。これら 2 つのパラメータは、C++ コンパイラによって自動的にキャプチャされます。

cout <

(argc-1==1?) ") << "." << endl;;

この文は、実行コマンドラインから渡されたパラメータの数を取得することを意味します。文字ポインター配列 Argv は 0 から取得されます。これには、少なくとも 1 つの実際の値 (つまり、このプログラムのパスと名前) が含まれます。この値は、C++ コンパイラーによって自動的に追加されます。条件演算子「?」は、コマンド ラインから複数のパラメーターが渡されるかどうかを判断するために使用されます。たとえば、コマンド ラインから 2 つの引数が渡された場合、プログラムは次の情報を出力します。 " : "これら")

<< " 議論" << (argc-1 == 1 ? "" : "s") <

<< (argc-1 == 1 ? "is" : "are") << ": " << endl << endl; 次に、条件演算子を使用して別の文を出力します。ただし、プログラム実行コマンド ラインからパラメータを渡さなくても、main 関数の argv[] パラメータには値が含まれることに注意してください。同様に、コマンドラインからプログラムに 2 つのパラメータを渡すと、プログラムは次の情報を出力します。 < argv[i] << endl;

最後に、main 関数は各パラメーターに対して、単純な for(;;) ループ ステートメントを使用して出力します。パラメータの数に応じてパラメータ値を 1 つずつ設定します。プログラムに 2 つのパラメータ "first" と Second" を渡すと、for ループの出力結果は次のようになります:

[1] ?first

[2] ?second

上記は、この C++ プログラムの簡単な概要 説明、その機能は非常に単純で、cout 関数を使用してコマンド ラインから渡されたパラメーターを出力画面に表示することです。次に、この .cpp ファイルをコンパイルします。Windows プラットフォームを使用している場合は、使用しているサーバーに Telnet 接続する必要があります。ここでは、ほとんどの Unix マシンで提供されている G++ コンパイラを使用して、このソース ファイルをコンパイルします。ただし、マシンに G++ がインストールされていることを確認するには、次のコマンドを入力します。 G++ がすでにインストールされている場合、Unix シェルは G++ が存在する場所へのフルパスを表示します。インストールされていない場合は、「コマンドが見つかりませんでした」というメッセージが表示されます。ここで G++ をダウンロードできます。

ソース ファイルがあるディレクトリに次の G++ コマンドを入力します。 cpp.

このコマンドを使用して、.cpp ファイルをマシンコードを含むターゲット ファイルにコンパイルします。 ls ?a コマンドを実行すると、このディレクトリに新しいファイル sampleapp.o が表示されます。これは、.cpp ソース ファイルがマシン コードにコンパイルされた結果です。ただし、最終的に必要なのは実行可能ファイルです。次の G++ コマンドも入力する必要があるためです:

g++ sampleapp.cpp ?o sampleapp

このようにして、sampleapp という名前の実行可能ファイルを取得します。ただし、Unix での実行可能ファイルは Windows とは異なり、拡張子がつかないことに注意してください。

次のコマンドを実行すると、プログラムの実行結果が確認できます:

sampleapp one -two /three

3つの引数を渡しました。これらの引数は次のとおりです:

[1] one

[2] ?two

[3] /three

実行可能な C++ プログラムが生成されたので、Web 経由でアクセスできるプログラムを生成します。ブラウザからこのプログラムの PHP チュートリアルにアクセスします。

3. PHP スクリプト プログラムを生成する

インターネット経由で C++ プログラムを呼び出すには、PHP スクリプト プログラムを生成する必要があります。この PHP スクリプトにはフォームがあり、ユーザーが Sampleapp プログラムに渡すことができるパラメーターを入力できるようになります。 PHP スクリプトのコードは長すぎるため、ここではすべてをリストしません。必要に応じて、以下のアドレスからダウンロードできます。 (Phpコード)

if(@$submit)

{

}

else

{

}

http://www.bkjia.com/PHPjc/446993.html

www.bkjia.com

本当

http://www.bkjia.com/PHPjc/446993.html技術記事 1. はじめに Unix/Linux についてある程度の知識がある場合は、そのほとんどに C コンパイラと C++ コンパイラ、つまりそれぞれ GCC と G++ が付属していることを知っているはずです。 UnixはプログラムのインストールやMake...など様々な場所で使われています。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート