プロが教えるわが家の防犯対策術!

C言語で作ったプログラムをCGIで動かすにはどうすればいいのでしょうか?

サーバ側になにをアップし、ブラウザ側で何を呼び出せばいいのかわかりません。
EXEファイルの拡張子をcgiにしても
ダウンロードされるだけだったし(当たり前ですか?)。

ちなみにサーバは会社のサーバを使っていて、CGIも使えるはずです。
よろしくお願いします。

A 回答 (4件)

Windowsの様子なので、IISかapache for W32


あたりでしょう。
サーバ側の設定不足です。

まず、Windowsなのでexeはexeのままでないと、
実行できません。

IISなら、cgiファイルはサーバ上の「Scripts」
ディレクトリの下に置きます。

使うときは
<a href="/Scripts/abc.exe">ほげほげ</a>
の様にhtmlの中に記述します。

IISの設定的には、cgiファイルを置くディレクトリ
は、実行アクセス権として
「スクリプトおよび実行可能ファイル」という
設定が付いている必要があります。

インターネットサービスマネージャの画面で
プロパティを見てればなんとなく気づくと思います。

apacheならhttpd.conf内のWcriptAlias設定をします。
    • good
    • 0
この回答へのお礼

Scriptsのフォルダにおいたら実行できました!
ありがとうございます。

お礼日時:2001/06/28 16:16

CでCGIを組む場合には、


ソースファイルをサーバにアップしてから、
サーバー上でtelnetを使ってコンパイルします。
これは、サーバーが通常Unixであるために、
Windows上でコンパイルしたものでは使えないからです。

具体的な方法に関しては、
参考URLを見てください。

#1の方へ。
CGIはPerl,C,PHPなどなどいろいろありますよ。
Perlはプログラム未経験者にはちょうどいいですが、
経験者にとっては非常に汚いものなんです。

参考URL:http://www2k.biglobe.ne.jp/~motoi/cdecgi.html
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2001/06/28 16:17

サーバはWindowsNT系と仮定してお話します。



「.exe」ファイルを「.cgi」にする必要はありません。

IISを起動させ、作成されたexeファイルを格納しているパス、あるいはそのexeファイルそのものに実行権限を与えないと出来ません。
(確か、スクリプトに対する権限だったような・・・)
この、実行権を与えないとダウンロードされるだけとなってしまいます。

また、作成されたexeファイルがどんな内容を返すのかは知りませが、結構複雑ですよ。
私はDelphiでCGIを動かしていますけど結構苦労しました。
    • good
    • 0
この回答へのお礼

「.exe」ファイルを「.cgi」にしたことは忘れてください☆
ほんとなにやってんだか…。

ファイルを置く場所を間違っていたみたいです。
ありがとうございました。

お礼日時:2001/06/28 16:11

よくわかんないんですが、CGIって、Parlとかで


組むものじゃないんですか?

この回答への補足

Parlのほうが簡単なんですけど、jubakoさんの言うとおり、ソースが美しくないし、上司がCでやれって言うから…。すいません。

補足日時:2001/06/28 16:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!