- ベストアンサー
C言語でcgi
こんにちわ!C言語でcgiを作成したいと思っています。 C言語でcgiを作成するに当たって参考になる書籍や サイトなどございましたら是非教えていただきたいです。 (書籍を中心に教えていただきたいです。) 過去に書店でC言語の本を読んだりしていたのですが どれもcgiとは方向性が違うような気がしました。 また効率がいい技術の習得方法などもあわせて教えていただければ うれしいです。よろしくお願いします。
- smalldeveloper
- お礼率54% (17/31)
- C・C++・C#
- 回答数4
- ありがとう数3
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まず、何故C言語でCGIを作成したいのでしょうか? C言語は比較的OS寄りの言語なので入出力等でミスがあると即座にセキュリティホールにつながってしまいます。 性能を重視するのであれば、mod_perl でもC言語ほどまではいきませんが、かなりの性能が得られます。 CGIで商用アプリケーションの作成を考えている等の理由でどうしてもC言語でCGIを作成する必要があるというのであれば、書籍は少ないのが実情なので (それだけニーズがない)、Webで勉強されるのが良いかと思います。 少し探した限りでは以下のようなサイトが参考になりそうです。 http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/ http://www2k.biglobe.ne.jp/~motoi/cdecgi.html http://www.kumei.ne.jp/c_lang/intro/no_80.htm
その他の回答 (3)
- mirror-name
- ベストアンサー率66% (2/3)
少し異形ですが、こちらも参考にしてください。 Apacheモジュール プログラミングガイド http://www.amazon.co.jp/exec/obidos/ASIN/4774117994/250-7191616-7199430 上記の書籍にも書いてありますが、モジュール化されていないC言語のCGIはmod_perlよりかなり遅いと思ってください。 しかしC言語でCGIをするのは非常に有意義です。 CGIはApacheモジュールまでのステップアップと割り切ればいいのではないでしょうか? Apacheモジュールしか出来ないことは多々あります。 自分がフリープログラマとして生き残れたのは製作者の少ない、Apacheモジュールの開発ができたからです。 それでは、頑張ってください。
お礼
Apacheのモジュールですか…難しそうですね。 モジュール化されていないC言語のCGIという意味がイマイチよくわからないので勉強しなおしてみようと思います。 ご回答ありがとうございました。
- parapa
- ベストアンサー率15% (42/273)
そもそもクローラーをCGIにする必要性は? 普通のCアプリとして作ればいいのに で表に出る検索エンジン部をperlとかで つくればいいのにどうして極端に どっちもCまたはperlって考えるの? きつい言い方だけどその程度の事も 思いつかないなら下手なクローラー作って 相手のサーバに対してdosアタックでもして ダウンさせそうですね。
補足
実は最初はクローラをC言語で、エンジンをPerl という風にしようと思っていたのですが、 性能の違いということがあったので どれくらい違うのかということをお尋ねさせていただきました。 CGIにする理由はニュースの内容を取得した際に ブラウザ上に何らかの内容を表示させようと考えているからです。 また既にPerlで簡単なクローラを作成していますが、 テスト段階では相手サーバに対してdosアタックをするといったようなことはありません。 ご回答ありがとうございました。
- mac_res
- ベストアンサー率36% (568/1571)
C&Perl 5によるCGI入門 http://www.amazon.co.jp/exec/obidos/ASIN/4795296960/qid=1133600426/sr=1-2/ref=sr_1_2_2/503-3218980-8359954 がお勧めなのですが、在庫切れですね。 技術者のためのC言語でつくるCGI入門 http://www.amazon.co.jp/exec/obidos/ASIN/477411541X/qid=1133600426/sr=1-1/ref=sr_1_2_1/503-3218980-8359954 は、ずばりそのものなのですがサンプルプログラムの質が悪すぎて、お勧めできません。 効率の良い習得法は、実際書いてみることです。 ただ、Cで書いたものは、バッファオーバーフローなどの脆弱性を持つ危険を常に含んでいるため、試験用のサーバーを内部に立てて実験しましょう。
お礼
ご回答ありがとうございます。 近いうちに書店に行き見てみようと思います。 ありがとうございました。
関連するQ&A
- PHP言語でCGIをマスターしたい
今晩は、これからPHP言語でCGIをマスターしたいのですが、 基礎から中級程度までを解説している サイトなどがあれば教えて頂けないでしょうか。 PHP言語もCGIについても全くの初心者なのですが、Perlのサイトはあるのですが、どうしてもPHP言語で 覚えたいのです、宜しくお願いします。 書店でも探したのですが、なかなか希望にあうようなものが本が見つかりませんでした。
- 締切済み
- PHP
- C言語でどういったCGIを作ることが出来ますか?
ホームページを作る上で、C言語というのは殆ど使われない言語のようですが、C言語を使うことによりホームページ上で何か便利な働きをするCGIはありますでしょうか? ちなみに私はHTMLのみでホームページを作成した経験は何度かありますが、C言語には全く触れたことがありません。 そこでC言語を用いて何か出来ればというのがありまして。 C言語を利用することにより、こういった便利な事が出来るといったアドバイスなどありましたら、ぜひご教授願います。
- ベストアンサー
- C・C++・C#
- C言語で次のことができますか
C言語は初級者です。ホームページの作成に関しては、全くの素人です。 本はいろいろ持っているのですが、独学で、本とインターネットの情報を駆使してメールフォームの作り方を本格的に勉強しているところです。 メールフォームに、(C言語で)word verificationの機能を付与することはできますか。できれば、本格的なメールフォームを作りたいと思っています。参考サイト・書籍などがあれば、ご教示頂ければ幸いです。よろしくお願いします。
- ベストアンサー
- CGI
- C言語の学習について
今からC言語を覚えようと思っているのですが、 C→C++→C#と習得していかなくてはならないのでしょうか? お勧めの開発環境と書籍なども教えていただけないでしょうか。
- ベストアンサー
- C・C++・C#
- C++の書籍について
今回C++を勉強するために、書籍を探しております。 書籍は沢山あるのですが、どうもピッタリという本が見つかりませんので、もしご存知でしたら教えていただけたらと思います。 で、私がどんな本を探しているかというと、 ■Windowsアプリケーションの作成が目的 ■C++の基礎が勉強できる(表示からポインタ・ファイル操作など) ■C++のGUIプログラムの作成に関する勉強ができる この条件なのですが、ちょっと私自身こだわりといいますか・・・ 作成をVC++ではなくテキストエディタで作成していきたいと考えております。 私が知っている言語で例えるなら、HTMLをホームページビルダー等を使わずテキストエディタで作成するような感じです。 インターネットをみると簡単なウィンドウを表示するプログラムの作成方法を紹介されているサイトも見かけるのですが、書籍で探すとそういったものが紹介されているものが中々ありません(地元の書店が小さいだけかもしれませんが) Windowsアプリケーションの作成にVC++は切っても切り離せないようなものなのか、あるいは、テキストエディタでは非効率的なので紹介されていないのか、それとも、入門系の本では書ききれないので、別冊や別のジャンルで紹介されているのかと、そんな気もしてしまうのですが、 もし心当たりがある、または、そんな本は無いだろう!ということがございましたら、教えていただけるとありがたいです。
- 締切済み
- その他(Windows)
補足
ご回答ありがとうございます。 C言語でcgiを作成する理由は、今までPerlでコンテンツを作成してきたのですが、 特定のウェブサイト(ニュースサイト)を巡回させるクローラを作成しようと思いつき、 Perlでは実行速度がC言語より遅いからです。 そしてクローラ作成後は、検索エンジンを作成し今までクローラで書き込んだインデックスから ニュースを検索できるようにするつもりでいます。 脆弱性の問題は存じていましたがやはりPerlで作成するべきでしょうか? 速度の問題が無ければPerlで作成する予定だったのですが、C言語とPerlやその他のインタープリタ型言語では 実行速度の違いはどれくらい差がありますか? それと「かなりの性能が得られます。」 とありましたが、クローラ及び検索エンジンを作成することを考えた場合、Perlでは実現が厳しかったりしますか? 質問が増えてしまいましたが、もし宜しければ再度ご教授のほどお願いいたします。