プロが教える店舗&オフィスのセキュリティ対策術

フリー配布のC言語で書かれたチャットのCGIをダウンロードしたのですが、エディタで開くと

テキスト中にNULL文字が含まれています!
この文字はメモ帳++で強制的に削除されます。

と警告がでます。そして開くと文字化けをしたようになってしまいます。

そのままの状態でアップロードすると、404エラーが出ます。

別のプログラムでCGIのエラーチェックをすると、

Unrecognized character \x7F at (eval 1) line 1.

と出るのですが、さっぱりわかりません・・・。

恥ずかしいのですがC言語の知識が全くないので、C言語についてもアドバイスをいただけるととても嬉しいです。

A 回答 (4件)

コンパイルの方法はソース付属のドキュメントを見てください。

ライブラリの依存関係などがあるので建前としては『一般論なんか無い』ですが、まぁ多くは作者が親切なおかげで ./configure make一発!ですけれど。

UNIX系の特徴というか文化はソースコード互換で、“バイナリ互換ではありません”。
telnetやsshが使えないサーバーではcのcgiはまず使えないと思っていいです。
    • good
    • 0

コンパイルの仕方はアプリケーションによっても異なります。

C言語を知らない人にとっては、UNIXを自在に触れる人でもコンパイルができない人もいるくらいです。

マニュアルを読んで理解できないようであれば諦めるのが無難な選択だと思います。逆に言えばそれだけ知識が必要ということです。

あと、コンパイルするにはシェルが解放されている必要があります。つまり、WEBサーバにTelnet接続が許可されていることが前提となります。

この回答への補足

パソコンが壊れてしまいお返事が遅くなって申し訳ありませんでした。知識もマシンスペックも全く足りず本当に敷居が高かった・・・と痛感しています。
丁寧にお答えいただきありがとうございました。

補足日時:2005/10/25 15:45
    • good
    • 0

>お手数でなければコンパイルの仕方を教えていただけないでしょうか?


あなたが使用しているサーバと同じOSを自分のローカル環境にインストールする。
で、コンパイラをインストールする。
(UNIX系だとはじめから入っている場合が多い。)
ただしあなたの使用しているサーバは
セキュリティー上CでのCGIは動かなくなっている
かもしれません。

>テキスト中にNULL文字が含まれています!
多分文字コードがらみでしょう。
S-JISとEUC。

もしこれらのキーワードがわからないようでしたら
C言語のCGIは敷居が高すぎでしょう。
    • good
    • 0

ちょっと気になったのですが…。



>そのままの状態でアップロードすると、404エラーが出ます。

ソースはどこでコンパイルしたんでしょうか?

この回答への補足

今までPerlのCGIしか設置したことがなかったもので・・・
「コンパイル」という言葉を初めて聞きました^^;;

配布元にも「本スクリプトの実行プログラムを生成するには、gcc等のCコンパイラが動作するマシン(稼動するWEBサーバと同じOS及びCPU)でなければ動作しません。
」とあったのですが、どうしたらいいのか全くわからなくてとりあえずアップロードしてしまった次第です・・。

お手数でなければコンパイルの仕方を教えていただけないでしょうか?
宜しくお願いします。

補足日時:2005/09/19 01:48
    • good
    • 0

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