トップページphp
708コメント194KB

C/C++ CGIスレッド

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/02/26 08:58ID:GDAQuNNS
C言語CGI専用スレッド
http://pc2.2ch.net/test/read.cgi/php/988918264/

C/C++ CGI 専門のスレッドです。

スクリプトを検索できるサイトです。

http://cgi.resourceindex.com/Programs_and_Scripts/C_and_C++/
http://www.cgifiles.com/scripts/cc++/index.shtml

前スレ
http://pc2.2ch.net/test/read.cgi/php/988918264/
0177黒死犬 ◆EgxBlf8nvc 04/07/06 16:45ID:???
AddType
0178fff04/07/06 16:50ID:???
>>SSI
http://httpd.apache.org/docs/misc/FAQ-F.html#ssi-part-iii
という感じで、"You can't."だと。しかし、
This is a feature The Apache Group hopes to add in the next major release after 1.3.
で、付加される機能かも知れない。知らないが。
0179nobodyさん04/07/06 16:56ID:???
>>147
とりあえずprintfとかでヘッダーを出力した後にfflushしておけばそのエラーは出ないかも。
018017904/07/06 17:08ID:???
というか、その前に落ちているのか。
おそらく問題は他にある。
0181黒死犬(魚かも) ◆EgxBlf8nvc 04/07/06 17:18ID:???
ヘッダにいらんもん出力してるって分かってんだから
プログラムが出力してる内容を見れば良いだけじゃない・・・
0182nobodyさん04/07/06 17:19ID:???
>>181
ヘッダを出力する前に落ちているだけだろ。馬鹿かお前は。
0183黒死犬(魚かも) ◆EgxBlf8nvc 04/07/06 17:21ID:???
いやいや、違いますよ
>>149
を読んでください
0184黒死犬(魚かも) ◆EgxBlf8nvc 04/07/06 17:22ID:???
すまそ誤爆った
でしゃばってすまぬ
0185nobodyさん04/07/06 17:22ID:???
落ちてヘッダを出力していないから「premature end of script headers」になるんだよ。
0186nobodyさん04/07/06 17:32ID:???
CGIが出力するhtmlにSSIを書いても動きません。

はい終了。

方法はあるけど152みたいなやつには教えん。
0187nobodyさん04/07/06 17:40ID:???
少なくともapache 2.0.50で動くことは今確認できた
でも完全にスレ違いの話題だな

>>152はこんなところで煽ってる暇があったら自分で調べろよヴォケ
018814704/07/06 17:58ID:???
179さん、黒死犬(魚かも)さん、187さん

アドバイスありがとうございます。

プログラムの内容は、
@入力フォームのhtmlの数値を取り込み計算
A計算結果画面のhtmlに計算結果数値を埋め込んでいく

という一般的なものなんです。
Time関数を使用している箇所を除くと表示できるのですが。。
187さんの言うとおりapacheの問題かもしれませんね。2.0.50で試してみます。
スレ違いで申し訳ありませんでした。
0189nobodyさん04/07/06 18:02ID:???
>>188

シェル上で擬似的なパラメータを渡してテストとかしないの?
>Time関数を使用している箇所を除くと表示できるのですが。。
そこまでわかっているのなら簡単なサンプルでデバッガのお世話
になるとか?
019014704/07/06 18:11ID:???
>>189

うっ・・おっしゃるとおりです。。
問題の部分のみで再度チェックいたします。
0191nobodyさん04/07/06 18:19ID:???
>>188
>>187はSSIのことね
CGIが出力したSSIが動くということ

>>147>>189タンの書いた通り
まずコマンドラインから実行できるかどうかチェックすべき

あとは、ヘッダを出力する前に落ちているのであれば
原始的な方法だけど、ヘッダを出力する場所を変えてみるとか
最初にヘッダを出力した場合動くかどうか
0192nobodyさん04/07/06 18:21ID:???
>>188
機種依存文字を使うなと前にも言われただろ
0193nobodyさん04/07/06 20:57ID:???
>>169
こんな暴言吐く人に回答する義理も無いわけで。
漏れはスルーしてたけど、ここの住民さんは意外と優しいのだな・・・。
019415204/07/07 08:18ID:Zb/loxvw
>>176

そうですよね・・・SSIにこだわる理由はないですね・・・
冷静に考えたらオーバーヘットもあるしSSIを出力する意味ないですよね。
素直にCでパースします。ありがとうございました。

>>俺様に暴言を吐いた有象無象ども

おめえら使えねえんだよ、アホ。
たいした知識でもねえのに出し惜しみするチンカスは一生すっこんでろボケ。
0195nobodyさん04/07/07 09:28ID:???
なんだ、結局SSIで動かすことができなかったんだな(プ
019615204/07/07 10:55ID:Zb/loxvw
>>195

出来たけどお前には教えない(プ
0197nobodyさん04/07/07 16:01ID:???
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152
0198nobodyさん04/07/08 02:16ID:???
まぁ夏だからしょうがないのか・・・
0199nobodyさん04/07/08 04:04ID:???
暑さはヒトをダメにする
0200nobodyさん04/07/08 10:26ID:073/5w7j
そもそも今時CでCGIというのが不自然なんだから
変なのが湧いてくるのは仕方がない。

Cの入門者用に掲示板程度のサンプルを提供するのは意味があるかもしれんが
それ以上の高機能なものは大人しくperlかPHPで作ればいいんです。
CでCGIを開発出来ても誰も誉めてくれないし一銭にもならないのではないか?

          ,.. -―-- |
       ,.' ´ ``´  ̄ ``. .|
     ,. '´   ,   、   .|
   /   ,  l  i  ヽ \ .|
   / ./ /,'  !ヽ ヽ  ヽ. ヽ.|
  / / ./ l _⊥ヽ‐ヽ、'T''| |って書き込んだらC信者が何人か釣れるのカナ?
  {{ |  | レ'! ヽ\_\,,-,‐-.|
  l l l  | | |/Tハ    |::f;;}||
   !ヽN |、 | !` l:リ}     ‐'‐'.| 
      `!ヽN ヽ" `ー    .| 
      | | | `i - ..,.. '´''.|
        ! ! l,-┴/ハ   |
       ヽ N,. '´,.=El=、、/|
0201nobodyさん04/07/08 13:45ID:???
【厨房のための煽り煽られ講座】

言い返せないけど負けは認めたくない
  → ( ´,_ゝ`)プッ
  → 無知白痴は黙ってろ
  → 知能障害をおこす
  → 出来たけどお前には教えない(プ  ←>>152
→ 釣りを始める ←>>200(>>152)
0202nobodyさん04/07/08 19:05ID:???
C++っぽく・・・

bool urldecode(std::string &s){ //省略。}
struct form_pair
{
string name;
string value;
};
istream &operator >>(istream &is,form_pair &fp)
{
string s;
getline(is,s,'&');
if(is.fail() || is.bad())
return is;
string::size_type pos = s.find('=');
if(pos == string::npos)
{
fp.name = s;
fp.value = "";
}
else
{
fp.name = s.substr(0,pos);
fp.value = s.substr(pos+1,s.length()-(pos+1));
}
if(!(urldecode(fp.name) && urldecode(fp.value)))
{
is.setstate(ios::failbit);
}
return is;
}
typedef istream_iterator<form_pair> urldecode_iterator;
0203nobodyさん04/07/08 20:14ID:???
( ゚д゚)ポカーン
0204nobodyさん04/07/08 21:03ID:???
このスレもうだめぽ゚・(ノД`)・゚・。
0205nobodyさん04/07/09 13:27ID:???
なんか、もう、ぬるぽだな
0206nobodyさん04/07/11 02:25ID:???
>>205
ガッ
0207名無しさん@そうだ選挙に行こう04/07/11 17:20ID:8T5rEfNa
http://puppy.cute.tc/の、
ReportBoardのCGIは何処のCGIですか?
似たCGIでもいいです。
わかる人がいたら教えてください。
0208名無しさん@そうだ選挙に行こう04/07/11 17:34ID:???
>>207
板違い
0209nobodyさん04/07/18 23:47ID:???
保守
0210C言語がイイよね?04/07/28 23:38ID:UZklF3eT
CでURLエンコードするコードを考えてマス
文字列の中で2バイト文字だけ判別して
判別した文字を16進数にキャストしてやれば
出来ると思うのですが、具体的なコードが浮んできません。
ウマイコードあったら参考にさせてください。
0211nobodyさん04/07/29 05:58ID:???
>>210
ここ↓の
ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/index.html
「FORMデータの処理」「漢字コードの処理」を参考にしてまつよ。
他にも検索すれば出てくると思う。
0212GROAD ◆4C1MajRa36 04/07/31 11:59ID:???
ぬるぽ
0213nobodyさん04/08/01 14:53ID:???
>>212
ガッ
0214nobodyさん04/08/04 20:03ID:???
C++( string 使いたいだけで )でCGIを組んでいましたが、
エラーログに
malformed header from script. Bad header=\x1f\x8b\b: /home/****/hoge.cgi
とでます。"Content-type: text/html; charset=EUC-JP\n"
を出力する前に何も出力関係の関数は使っていません。
マシン負荷などに関係なくでます。
だいたいは正常に動作していますが、時たま程度のエラーですが気になります。

原因が解る方が居たら、お力を御貸し願いたい。
apache1.3.27、 gcc 2.95.2.1です。
0215nobodyさん04/08/05 18:01ID:???
ヘッダ後の改行は2回だがまさか…違うよなぁ。
0216nobodyさん04/08/06 00:00ID:???
で、当然、"\x1f\x8b"が何なのかはぐぐってみたんだよな?
0217nobodyさん04/08/08 15:16ID:???
>>214 の自己レス

gzipをpopenで出力してた。
mod_gzipにしたら解決しました。
0218nobodyさん04/08/08 20:39ID:???
>>217
解決おめ
0219nobodyさん04/08/11 23:44ID:???
Fast-CGIを利用すると、更に速くなるのかな。
0220nobodyさん04/08/11 23:57ID:???
むしろ使わないとPHPとかmod_perlより遅い。
0221nobodyさん04/08/12 14:52ID:PHf7JWmC
(・∀・)renice!
0222nobodyさん04/08/14 15:00ID:inflZLdK
>>220

まじで?なんでえ?
0223nobodyさん04/08/14 17:15ID:???
プロセス起動コスト
0224nobodyさん04/08/14 21:20ID:???
modではないPerlとかRubyよりは早い
コードがへたれだとそれよりも遅い
0225nobodyさん04/08/14 21:23ID:???
( ゚д゚)ポカーン
0226nobodyさん04/08/14 21:28ID:???
言語の違いにおける速さの差は線形だけど、
アルゴリズムの差は簡単に対数以上になっちゃうからね
0227nobodyさん04/08/14 21:41ID:???
回るのは遅いけど何か書くと即効でレスが返ってくるんだよなここ
見てる奴は多いのかな
0228nobodyさん04/08/14 21:42ID:???
粘着がいるだけだろ
0229nobodyさん04/08/15 11:26ID:???
HPでCのCGIを使いたいのですが、
コンパイル時のコマンドは
gcc -o test.cgi test.c
でよいのでしょうか?
0230nobodyさん04/08/15 11:55ID:???
>>229
HP-UXだとccだろ。
0231nobodyさん04/08/15 12:15ID:???
>>229-230
ワラタ
023222904/08/15 12:39ID:???
HPはホームページの略で使いましたが…紛らわしいですね。
ccは使えないんですが…
023322904/08/15 13:24ID:???
とりあえず
gcc -o test.cgi test.c
でコンパイルして
テストしてみたのですが、エラーが出てしまいます。

パーミッションは755でcgi-binディレクトリにも入っているけど
エラー500が出てしまいます。

また、ソースも問題ないと思うのですが…

#include <stdio.h>

int main(void)
{
printf("Content-type: text/html\n\n");
printf("Hello");

return 0;
}
原因は何でしょうか?
0234nobodyさん04/08/15 13:35ID:???
( ゚д゚)ポカーン
0235nobodyさん04/08/15 14:55ID:???
エラーメッセージも書いてない香具師に釣られるなよ
0236nobodyさん04/08/15 14:59ID:???
>>235
Internal Server Errorと言う答えになんの意味があるというのだ。
0237nobodyさん04/08/15 15:00ID:???
\n -> \r\n\r\n
0238nobodyさん04/08/15 15:00ID:???
Windowsかよ
0239nobodyさん04/08/15 15:02ID:???
サーバと違うOSでコンパイルしてるんじゃないのか?
テキストモードでうぷしたりしてるんじゃないのか?
sshで接続してスタンドアロンで動くかどうかまず確かめろよ。
あとは考えるのマンドクセ。
024022904/08/15 15:04ID:???
確かサーバー側はLINUXだったので違うOSですね。
0241nobodyさん04/08/15 15:10ID:???
サーバーでコンパイルするかクロスコンパイルでぐぐってね。
ばいばい。
0242nobodyさん04/08/15 16:05ID:???
>>240
で、コンパイルマシンはHP-UXなのか?
024322904/08/15 23:43ID:???
コンパイルマシンはWINDOWSです…
0244nobodyさん04/08/16 00:08ID:???
窓のアプリケーションがLinuxで動くわけなかろーがこのバカチンがー

マジレスすると、お前には無理なので諦めろ
0245nobodyさん04/08/16 00:14ID:???
おまいら釣られすぎ
0246nobodyさん04/08/16 00:18ID:???
>>244
Perlと同じ感覚なんじゃないかと
024722904/08/16 00:28ID:???
もうちょっと勉強してからやります。
Perlと同じような物だと思ってました…
0248nobodyさん04/08/16 06:26ID:???
>>247
>もうちょっと勉強してからやります。
>Perlと同じような物だと思ってました…

プロの釣り師だな
0249nobodyさん04/08/20 02:03ID:???
>>229 >>247
マジ釣られしてやろう。スクリプト言語は文字ベースの互換性があるが、
コンパイル言語はバイナリベースでの互換性を確保しなければならん。
よって、互換プラットホーム間でなければ動かん。
もっと勉強汁。
0250nobodyさん04/08/21 11:33ID:???
0251nobodyさん04/08/21 12:59ID:???
WindowsでGCC使ってクロスコンパイルかけたのかもしれないじゃないか。
100%ないけど。
0252nobodyさん04/08/21 16:06ID:???
gccを使っているのは確かだ。
0253nobodyさん04/08/22 23:49ID:OO5ezOdW
でもいかりや長介が逝っちゃったことに
変わりはない。

無念!
0254nobodyさん04/08/23 09:54ID:???
>>253
コスモを感じる
0255nobodyさん04/08/24 12:54ID:???
UTF-8の掲示板作ったら、出力サイズが2chに比べて2〜3倍になったorz
2chのhtmlを保存してUTF-8に変換してもまだ1.5倍。
マークアップしつこすぎたかな…。

<div class="res">
 <div class="data">
  <h3 class="name"><span class="number">5</span> <span class="label">投稿者</span> <a href="mailto:tokimushi@yahoo.co.jp" title="この投稿者にメールを送る">名前</a></h3>
  <ul>
   <li class="time"><span class="label">投稿時刻</span> 2004年08月07日(土)17時54分04秒</li>
   <li class="url"><a href="http://www.w3.org" title="この投稿者のウェブサイトへ">HOME</a></li>
  </ul>
 </div>
 <div class="comment c3 kuma"><p>なんだかんだ</p></div>
</div>
025625504/08/24 12:56ID:???
誤爆すいません
0257nobodyさん04/08/24 13:22ID:???
>>255
UTF-8の掲示板は重いから嫌
0258nobodyさん04/08/30 09:03ID:???
0259nobodyさん04/09/07 13:19ID:???
0260nobodyさん04/09/07 22:17ID:???
ネタがありませんなあ
0261nobodyさん04/09/08 00:54ID:???
こっちは微妙に伸びとる
ttp://pc5.2ch.net/test/read.cgi/php/1048393217/
0262nobodyさん04/09/08 01:07ID:???
http://pc5.2ch.net/test/read.cgi/php/1048393217/
0263nobodyさん04/09/26 01:20:15ID:???
遅レス
>>255
うほ、いいdiv厨
0264nobodyさん04/09/27 13:16:42ID:???
カウンタを作ってるのですが
日にちがかわったら今日のカウントを昨日のカウントへコピーして
今日のカウントを初期化するIF分がわかりません
教えてください
0265nobodyさん04/09/27 14:56:10ID:???
(  ゚,_ゝ゚)バカジャネーノ
0266nobodyさん04/09/27 16:58:41ID:???
>>264
お前プログラム向いてないよ。サンプル漁る位しれ。
0267nobodyさん04/09/27 21:25:52ID:yrxaF59A
釣れた!初めてなのに釣れちゃった!(AA略
0268nobodyさん04/09/27 23:08:37ID:???
こんな活きの無い魚でそんなに喜ぶなよ
0269nobodyさん04/10/01 15:04:26ID:???
活きの無い

( ´,_ゝ`)プッ
0270nobodyさん04/10/01 16:56:12ID:???
4日も経ってからsageで煽るなって
0271nobodyさん04/10/01 17:46:36ID:qscnRJvR
あのーPHPがアパッチのモジュールで動作するから早いって聞いたんですよ・・・

Cで書いてもCGIとして実行してたらプロセスとして実行するから結構負荷がかかっちゃいますかね・・・
でもCGI使わずにモジュールで動作するようにすればCの方が早いんですかね・・・

PHPの開発は日本人が多いから日本国内ではPHPの方が早いってことになってるんですかね・・・
それともベンチマークテストやったら実際に早いんすかね・・・

そこらへんをすっきり説明してくださる方おりませんか?
0272nobodyさん04/10/01 17:48:41ID:???
なんか不勉強で人頼みな奴ほど速度を気にするように思うんだけど、
これってマーフィーの法則ですか。
0273nobodyさん04/10/01 17:52:03ID:qscnRJvR
はいーわたしはマーフィーの法則にしたがって行動しております。

補足なんですけど〜CGIもモジュールですよね〜
PHPのそれはどんなモジュールなんですかね〜
PHPより高速になるCGIモジュールってありますかあ?
0274nobodyさん04/10/01 17:53:56ID:???
裏が取れないという点ではそうかも
背景としては、本来速度を気にする人ってのはハードなシステムを組まされてる人なんだけど、
この手の輩は四六時中ボトルネックを探してるので、何すれば早くなるかとか、早いってのは
どういうことかとか正攻法で理解してて、あんま質問を垂れ流さないってのがあるんだと思う

ところで最近はチューンするにしてもApacheのモジュールにしちゃうこと減りましたね
ってこのネタもスレ違いかorz
0275nobodyさん04/10/01 17:54:54ID:???
>273
うっぜ
死ねカス
0276nobodyさん04/10/01 18:04:01ID:qscnRJvR
あれへんだなあ・・

何言ってるかわかんなくなってきちゃった・・・・
でもさあPHPってHTMLに記述するスクリプト言語ですよねェ〜

それをパースして実行するんですからあきらかにコンパイルしたCの
プログラムの方が早そうに思えるんですけどねエエ・・・・
■ このスレッドは過去ログ倉庫に格納されています