php で c メソッドを呼び出す方法: 最初に [test.c] ソース ファイルを作成し、次にそれを保存してコンパイルを実行し、次に php ハンドラー [add.php] コードを記述し、最後に [add.php] に記述します。コマンドラインでパススルー経由でコマンドを直接実行し、呼び出しを完了します。
php が c メソッドを呼び出す方法:
php が c/c を呼び出す方法はたくさんあります。一般的に使用されるのは、tcp または http 経由で呼び出され、c/c で記述された cgi/fastcgi を呼び出すリクエストを送信することで実装されます。また、php には外部アプリケーションを直接実行する方法があり、この方法はシステムのセキュリティに影響を及ぼし、簡単に実行できます。攻撃者によって悪用される可能性があるため、使用する場合はユーザー入力を慎重に処理する必要があります
PHP には、exec や passthru など、外部バイナリ コマンドを実行するための関数がいくつかあり、passthru 関数はコマンドを実行して出力を返すことができます。外部コマンドなので、今回はパススルーを使用するだけで実現できます。PHP が c/c 関数を呼び出す目的は、複雑な計算を処理する際の計算効率を向上させ、システム全体のパフォーマンスを向上させることです。以下は簡単なテスト ケースです。
まず、test .c
ソース ファイルを作成します。処理は非常に簡単です。2 つの整数を追加するだけです。コードは次のとおりです:
#include<stdio.h> int main(int argc, char **argv) { //printf("参数个数:%d\n", argc-1); int a = atol(argv[1]); int b = atol(argv[2]); int sum = a + b; printf("%d\n", sum); return 0; }
保存後、コンパイルを実行します: gcc test.c -o test
コンパイル後、テスト実行可能ファイルが現在のディレクトリに生成されます。 ./test 5 12
を通じてファイルを実行すると、出力 17
を呼び出します。
form.html コード:<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php调用c/c++案例</title> </head> <body> <form method="post" action="add.php"> <div> 请输入两个整数: <input type="text" name="a" /> + <input type="text" name="b" /> <input type="submit" value="相加" /> </div> </form> </body> </html>php handler
add.php コード:
<?php header("Content-Type:text/html; charset=utf-8"); if(isset($_POST['a']) && isset($_POST['b']) && !empty($_POST['a']) && !empty($_POST['b'])) { $command = './test '.$_POST['a'].' '.$_POST['b']; $result = passthru($command); print_r($result); } else { echo "输入不能为空!"; } ?>add.php では、呼び出しが次のように完了していることがわかります。
パススルー
php グラフィック チュートリアル
以上がPHPでCメソッドを呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。