C言語によるCGIに関するQ&A

C言語によるCGIの想定される質問と回答です。

全般に関わる話

  1. CGIプログラムをC言語で作る理由は何ですか。
    趣味です。

    いってみれば曲芸みたいなもので、手間の割にはあまりメリットはありません。

  2. C言語だと高速ですか。
    mod_perlを使わない場合のPerlよりは高速です。

    CGIではリクエストに応じてプロセスが生成されるので、大量のリクエストに対するレスポンスという意味では特にPerlなどと比較して高速ということはありません。

    プロセスが生成されてしまえば、その後の処理はPerlより遥かに高速です。

  3. どうしてC++じゃないんですか。
    曲芸みたいなもので、あまり意味はありません。

    文字列の操作に関しては、std::stringとstd::mapを使えば、C++の方が楽に作れるでしょう。

  4. CとかC++でCGIプログラムを作って動かしたいんだけど、実行できるWebスペースなんてないよ?
    自宅サーバでやりましょう。

    とりあえずはWindowsにAN HTTPDをインストールして、ローカル環境で試してみることを推奨します。

    C言語などで作ったCGIプログラムの実行が許可されているレンタルサーバはないこともないのですが、バッファオーバーフローなどのバグを発生させると多くの人に迷惑をかけてしまうことがあります。またバッファオーバーフローは致命的なセキュリティホールになるので、自宅サーバの場合でも細心の注意が必要です。

    作成したCGIプログラムを公開するのはバッファオーバーフローの危険性を充分に理解してからにしましょう。


Index Page