• ベストアンサー

C言語のCGIが編集できません

フリー配布のC言語で書かれたチャットのCGIをダウンロードしたのですが、エディタで開くと テキスト中にNULL文字が含まれています! この文字はメモ帳++で強制的に削除されます。 と警告がでます。そして開くと文字化けをしたようになってしまいます。 そのままの状態でアップロードすると、404エラーが出ます。 別のプログラムでCGIのエラーチェックをすると、 Unrecognized character \x7F at (eval 1) line 1. と出るのですが、さっぱりわかりません・・・。 恥ずかしいのですがC言語の知識が全くないので、C言語についてもアドバイスをいただけるととても嬉しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.3

コンパイルの方法はソース付属のドキュメントを見てください。ライブラリの依存関係などがあるので建前としては『一般論なんか無い』ですが、まぁ多くは作者が親切なおかげで ./configure make一発!ですけれど。 UNIX系の特徴というか文化はソースコード互換で、“バイナリ互換ではありません”。 telnetやsshが使えないサーバーではcのcgiはまず使えないと思っていいです。

その他の回答 (3)

  • entree
  • ベストアンサー率55% (405/735)
回答No.4

コンパイルの仕方はアプリケーションによっても異なります。C言語を知らない人にとっては、UNIXを自在に触れる人でもコンパイルができない人もいるくらいです。 マニュアルを読んで理解できないようであれば諦めるのが無難な選択だと思います。逆に言えばそれだけ知識が必要ということです。 あと、コンパイルするにはシェルが解放されている必要があります。つまり、WEBサーバにTelnet接続が許可されていることが前提となります。

no05
質問者

補足

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

  • parapa
  • ベストアンサー率15% (42/273)
回答No.2

>お手数でなければコンパイルの仕方を教えていただけないでしょうか? あなたが使用しているサーバと同じOSを自分のローカル環境にインストールする。 で、コンパイラをインストールする。 (UNIX系だとはじめから入っている場合が多い。) ただしあなたの使用しているサーバは セキュリティー上CでのCGIは動かなくなっている かもしれません。 >テキスト中にNULL文字が含まれています! 多分文字コードがらみでしょう。 S-JISとEUC。 もしこれらのキーワードがわからないようでしたら C言語のCGIは敷居が高すぎでしょう。

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

ちょっと気になったのですが…。 >そのままの状態でアップロードすると、404エラーが出ます。 ソースはどこでコンパイルしたんでしょうか?

no05
質問者

補足

今までPerlのCGIしか設置したことがなかったもので・・・ 「コンパイル」という言葉を初めて聞きました^^;; 配布元にも「本スクリプトの実行プログラムを生成するには、gcc等のCコンパイラが動作するマシン(稼動するWEBサーバと同じOS及びCPU)でなければ動作しません。 」とあったのですが、どうしたらいいのか全くわからなくてとりあえずアップロードしてしまった次第です・・。 お手数でなければコンパイルの仕方を教えていただけないでしょうか? 宜しくお願いします。

関連するQ&A

専門家に質問してみよう