ここから本文です

C言語でCGIプログラム・・・

質問者

hiroyuki3910さん

2009/2/1616:04:48

C言語でCGIプログラム・・・

C言語でCGIプログラムを作ろうかと考えています。

Webサーバ上で動作するものを想定しているのですが、私自身かなりのプログラミング初心者です。

C言語でCGIプログラムを作成する技術を一早く身につけたいんですが、分かりやすく教えてくれるサイト等を知りませんか?

良かったらいろいろと教えていただければと思います。

閲覧数:
531
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

kappa_dayojpさん

2009/2/1616:25:30

CGI以前に、まずHTMLを勉強する必要があります。

http://www.tohoho-web.com/www.htm
などでHTMLの勉強をしましょう。

CGIでどういった実装をしたいかによりますが、
http://www2k.biglobe.ne.jp/~motoi/cdecgi.html
などが参考になるでしょう。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜1件/1件中

グレード

知恵袋マスター

abiko_tetuさん

編集あり2009/2/1720:14:45

[グラフィックスの意味でのCGI]

CGIがコンピュータグラフィックスを意味するCGIでしたら、Visual C++.NET(2002)以降、特に2005以降は、Visual Basic並みに簡単になりました(以降、略称VC++、VB使用)。
共通言語ランタイムという技術仕様のおかげで、VC++、VB、VC♯間の言語違いの壁が無くなって来ました。
そのため、VBはVC++的なことがある程度可能になり、その逆にVC++もVB的なことがある程度可能です。
このため、VC++でグラフィックスが簡単になりました。


[Webの意味でのCGI]

CGIがWebを意味するCGIでしたら、Visual C++.NET(2002)以降から「Webサービス」という技術仕様でWebの作成が可能です。

http://msdn.microsoft.com/ja-jp/library/ms479390.aspx

しかし、Webサービスは、グラフィックス的な物や、ボタンや表といったユーザーインターフェイスがありません。
サーバーの機能をネット上(Web仕様)でエクスポート(外部公開)するという物です。
ところで、Webに関係ないクライアント - サーバー システムでのサーバー側プログラムでは、ボタンや表は無く、機能(Cの関数等)をエクスポートするだけです。
ボタンや表などのユーザーインターフェイスは、クライアント側の役割りだからです。
それと同じように、Webサービスは、ユーザーインターフェイス的なものは無く、サーバー機能のエクスポートのみです。
ただ、クライアント - サーバー システムとの違いは、Webサービスは、標準化機関W3Cの仕様に基づいたXML系列のプロトコルSOAPを使用しています
(SOAPと聞くと、マシン環境上特殊なものかと思うかも知れませんが、XMLで構成された技術仕様ですので、XMLと同じと見て問題無いです)。

しかし、Webサービスは、本もサイトも少ないので、「一早く身につけたい」という要望はかなわないかも知れません。


[C♯でのWeb]

そこで、C♯でのWeb開発をおすすめします。
Webサービスと違い、ボタン等のユーザーインターフェイスが可能です。
ところで、C♯は、C/C++でのポインターを使わないで、VB的なプログラミングを可能にした言語です。
Cの標準言語としての仕様範囲でも、例えば、配列の

a[3]

は、ポインター表現では、

*(a + 3)

となりますが、ポインターが嫌いな人には、「ポインターを使わなくてもa[3]を使えばいいじゃないか」という考え方があります。
ポインターの無い他の言語で行うプログラミングの範囲ならば、C/C++でもポインターを使わなくても構わない訳です。
そこで言語仕様として、ポインターを使わないようにしたのがC♯です。

C♯は、変数の宣言や、for文、if文、演算子等、C/C++と同じ仕様ですので、C/C++プログラマーに問題無く使いこなせます。
C♯のWeb開発の入門書は何種類か発行されていますので、C♯がおすすめです。

Visual C# 2005によるWebプログラミング入門 (出版社: アスキー)

なお、VC#2008使用時でも、2005版の本を利用して問題無いです。
ちなみにVC++やVBも、2008使用時でも、2005版の本を利用可能です。
上記のようなWeb専門の本でなくても、VC#の一般の入門書に、1章分Web開発が解説されている事があります。


[C++の知識]

VC++では、C言語では無くC++の知識が必要です。
また、VC♯を選ばれる場合でも、C++的な考え方が必用です。
と言いましても、C++のクラスという技術仕様を身に付ければ問題ありません。
クラスは、Cの構造体の機能拡張版ですので、Cプログマーには習得可能です。
詳しくは、以下の質問を参照。

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1322063098

VBプログラマーがC++をマスターしていなくてもWindowsアプリやWebの開発が可能なように、CプログラマーもWindowsアプリやWebの開発が可能です。


[Webと非Web]

実は、.NET技術仕様になってからは、非WebのWindowsアプリケーション等でも、XMLの規格を使って標準化されています。
そのため、前述の共通言語ランタイムと言った標準化が可能になっています。
Visual Studio(VC++、VC♯、VB)は、バージョンアップするたびに、Web/非Webの違いが無くなっています。
WPFという技術で、DirectXゲームで行われていた3D技術が、Webブラウザー上で可能になりました。
また、クエリの記述書式が、SQL、Object、XMLの違いに関係なく統一されました。
その技術は、LINQと言いますが、この技術を使ってWebでデータベース処理が直接可能です(以前でも、DAO等のCOM系技術で可能でしたが、LINQではXML技術で直接Web化されています)。

マイクロソフトのWeb技術は、当分は目を離せない状況です。

ちょい足しを取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

ID/ニックネームを選択し、「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する