トップページphp
529コメント164KB

C言語のCGIを語りつつ普及するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001somebodyさん03/03/23 13:20ID:???
C言語で書かれたCGIってなかなかイイもの見つかりませんよね。

前Cでかかれた掲示板を見かけたんですけど、なんかタグ用の処理が行われていないらしくて、グロ画像やエロ画像なんて
貼りたい放題でしたよ・・。わたしなんて<xmp>タグを貼りかけましたよ・・・

それはどうでもイイとしてKENTさんのCGIみたいに高機能で手軽なCGIのC言語版みたいなのがあったらなぁなんて思ったことありませんか?
このスレではそんなCGIについて語って、CでCGIの考えを普及していきたいです。
0082nobodyさん03/03/31 22:48ID:???
>>81
LGNUライセンスって知ってる?
0083初心者03/03/31 22:54ID:???
>>80
笑っちゃうかもしれないけど本当の話なんだす・・・

最近自家鯖の実験始めて、目標は自作CGIを作ることだが
どうもPerlってソースの見た目から受け入れられなくて

昔ちょっとだけかじったことのあるC言語でも出来ると聞いて
お決まりのHelloWorldとか、C言語CGI解説サイトのサンプルを
コンパイルしようとしたが、自分の知ってるフリーで使えるコンパイラは
あれしかなかったもので。。。。

でも、ちゃんとhtmlからの入力を受け取って動作したから正直驚きました
gccって奴があるのですか。ありがとうございます。

0084nobodyさん03/03/31 23:13ID:???
>>79はスルーかよ!
0085nobodyさん03/03/31 23:13ID:???
>>84
理解できないのはすべて無視。厨房は無視しとけ。
0086初心者03/03/31 23:28ID:???
>>84
すません。見落としてました
検索掛けると、昔TurboPascalってので有名だった
ボーランドのCコンパイラがあったのですね
ちなみにC++ってのは良く分からん。。。

厨に構ってくれてありがd
これから勉強します
0087nobodyさん03/04/01 21:48ID:???
>>82
LGPLですか?
いわゆる感染しないライセンスでしたよね。
ただ、GPLというだけで心理的にイヤなんで、敬遠してます。
ライセンスについても明るくないですし。
0088fusianasan03/04/01 22:59ID:???
技術者のためのC言語でCGI作成(作:玉なんとか)
って本をreadをしたけど漏れ could not understandですた。
0089fusianasan03/04/01 23:02ID:???
このスレは普及用のスレです。
0090nobodyさん03/04/01 23:30ID:???
作った物を普及させるのか、作ること自体を普及させるのか。
0091fusianasan03/04/02 14:00ID:???
>>90
作ることを普及するスレ
0092nobodyさん03/04/02 14:22ID:???
じゃあよほど大きなメリットを示さないとなぁ。
0093nobodyさん03/04/02 14:28ID:???
変数に型がある。
0094nobodyさん03/04/02 15:16ID:???
>>93
"よほど大きな"で出てきたメリットがそれか・・・
0095nobodyさん03/04/02 15:34ID:???
Perl厨には分からないだろうな。
0096nobodyさん03/04/02 16:03ID:???
Cの変数に型があるのは常識なんだからスレ立ててまで語るほどでも無いと思うのだが。
「Cで作ると変数に型があるメリットが!!」で普及したら苦労しねーっていうか。
0097fusianasan03/04/02 21:44ID:???
もっともな魅力は高速な処理かな・・・。
普及するぐらいなら簡単にCでCGIを作れるようになる
モジュールみたいなのを作る必要があるのかな?・・
0098nobodyさん03/04/02 21:48ID:???
普及しない一番の原因はISPの鯖・無料鯖でShellを開放してるトコが殆どないからだと思うがどうか。
0099fusianasan03/04/02 21:48ID:???
某CGIのBook曰く・・・、CはPerlの数十倍から数百倍の処理能力を持ち合わせているとか・・・
0100fusianasan03/04/02 21:49ID:???
>>98
たしかにな・・・。
http://www.tok2.comって逝けたっけ?・・・shell
0101nobodyさん03/04/02 22:01ID:???
>>99
その能力がインターネット介したときにどれだけの差になるのかと
0102nobodyさん03/04/02 22:07ID:???
>>97
そういうライブラリがないかどうか探して、もしあったら次にそれの使い方を
わかりやすく解説してるサイトを探して紹介した方が普及させるには一番だと思う

これらが無いときに初めて自分で作るって手順になるのでは。
0103nobodyさん03/04/02 22:27ID:???
PerlとCで書かれた同じ機能のCGIを比較した
テストの報告とかってどっかに無いのかな?
0104nobodyさん03/04/02 22:35ID:???
速度差はほとんど普及の要因にならないと思うよ。
仮に100ミリ秒が10ミリ秒になったってネットを介したら誤差の範囲だし。
サーバ機で動かすだろうから一瞬だろうし。
速度差が出るほどのプログラム(処理に何分もかかるような)だと
そもそもCGIとして使い物にならないし。
0105んじゃ03/04/02 22:39ID:???
アップローダのように扱うデータ量が多いCGIや
2ちゃんのようなアクセス多数で重たいCGIならば
効果てきめんって事か?
0106nobodyさん03/04/02 22:46ID:???
いっそ「普及」なんてこと考えなければそれなりに成り立つスレだと思うんだけどな。
CでCGI質問スレとかCGI用Cライブラリを作ろうスレとかそんな感じで。
需要は少ないだろうけどカテゴリとしてあってもいいとは思う。
0107nobodyさん03/04/02 22:49ID:???
>>105
アップローダのデータ量が多いってそりゃファイルをUL/DLするネットワークの
速度の問題で、CGIの速度の問題じゃないと思われ。
0108nobodyさん03/04/03 03:36ID:???
可変長文字列
可変長配列・ハッシュ
正規表現によるマッチング・置換
URLデコード
文字コード変換
ロック

とりあえずこれだけサポートしたライブラリが欲しいところ。
0109nobodyさん03/04/03 06:09ID:???
>>108
>URLデコード
>文字コード変換
>ロック

この辺はどうとでもなるっしょ。
0110nobodyさん03/04/03 06:13ID:???
>>108
ロックならflockをサポートしたOSを使えばいいだろ。
0111nobodyさん03/04/03 21:07ID:???
やっぱり++の方がいいと思うよ。
0112nobodyさん03/04/03 21:26ID:???
>>111
綺麗に書けるわな。
0113fusianasan03/04/03 23:36ID:???
>>108
そうだな、漏れは無理だが誰かつくってくれないかな・・・?
0114nobodyさん03/04/04 01:17ID:???
CygwinでLinux環境用バイナリを吐き出すのも
ひと苦労だよ(´д`)
ttp://www.sixnine.net/cygwin/cygwin-doc/devel/cygwin-to-linux-cross-howto.html
0115nobodyさん03/04/04 01:54ID:???
>>113
Object Pascalで良いなら書いても良いけどね。

>>114
無理にクロスコンパイルせんでも、VMwareとかパーティション切ってLinux入れた方が楽じゃない?
NLDとかWinLinuxとか言う際物でも良いけど。
0116fusianasan03/04/05 16:10ID:???
KENTさ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん

jcode.cを作ってくれ。
cgi-lib.cを作ってくれ。

どうせ誰かお前が作れとかいうんだろ?
0117nobodyさん03/04/05 16:11ID:???
自分用のcgilibならつくったことある・・・
0118nobodyさん03/04/05 16:25ID:???
ならだせ うそ臭いぞ。(w
0119nobodyさん03/04/05 16:33ID:???
くれくれ厨はこのスレ向きじゃないから他逝った方がいいよ
0120nobodyさん03/04/05 17:36ID:???
奥村先生のアレを使わせてもらいなさい。
0121nobodyさん03/04/05 19:17ID:???
jcodeなんで使うの?
0122nobodyさん03/04/06 10:59ID:???
KENTって外人なのか?
0123nobodyさん03/04/06 22:17ID:???
http://websearch.yahoo.co.jp/bin/query?p=%a3%cb%a3%c5%a3%ce%a3%d4%a4%b5%a4%f3&hc=0&hs=0
0124anonymouse@on.the.nettori03/04/07 13:27ID:???
>>121

EUCとかで投稿してくるヤシがいたら困るからね。
あとKENTって妻子持ちですか?
0125anonymouse@on.the.nettori03/04/07 13:29ID:???
http://www.ab.aeonnet.ne.jp/~hibantyan/kent.htm

KENTさんは旅好きですね。
0126nobodyさん03/04/07 22:27ID:???
北九州人だよ
http://allabout.co.jp/computer/cgiperl/closeup/CU20020707A/index.htm
0127nobodyさん03/04/08 14:41ID:???
JIS/SJIS/EUC/UTF8変換すら書けない奴が
C/C++でCGIを作るって……何かのジョーク?
0128nobodyさん03/04/08 14:45ID:???
>>127
車輪の再発明とは時にアホらしいもんです。
0129nobodyさん03/04/08 15:25ID:???
学習・好奇心等が目的なら自分で作るのもアリだが「普及」が目的のスレだからな。
0130fusianasan03/04/08 16:46ID:???
>>129

CでCGIを実際につくってみるしかないのかな?
0131nobodyさん03/04/09 00:45ID:???
apache1.3の場合、cgiはプロセス生成のコストがかかって
使えないけど、
apache2.0はcgiの復刻の悪寒 ?

phpのモジュールなら現実的では。
http://jp.php.net/manual/ja/zend.creating.php
0132fusianasan03/04/09 23:40ID:???
CのCGIで、ウルトラパワフルでパラダイスなBBSをつくるとするかな・・・。
0133nobodyさん03/04/10 00:49ID:???
誰かオープンソースですごいライブラリ作ってよ。
そしたら使ってやっから。
0134nobodyさん03/04/10 02:45ID:zZSFzDwz
Cじゃないと出来ない処理ってあるんか
そんなの無いよなぁ?

Cだと実行速度がめちゃんこ早えぇと聞くが
10倍くらい速いのか?

そういや2ちゃんねるのCGIも
Perlのスクリプトだったのを
後にCで書き直されたらしいな
ひろゆきもわけわからんだって。
0135あぼーん03/04/10 02:49ID:???
 ( ・∀・)< こんなのみつけたっち♪ 
http://muryou.gasuki.com/hankaku/hankaku03.html
http://muryou.gasuki.com/hankaku/hankaku04.html
http://muryou.gasuki.com/hankaku/hankaku02.html
http://muryou.gasuki.com/hankaku/hankaku01.html
http://muryou.gasuki.com/hankaku/hankaku10.html
http://muryou.gasuki.com/hankaku/hankaku09.html
http://muryou.gasuki.com/hankaku/hankaku08.html
http://muryou.gasuki.com/hankaku/hankaku07.html
http://muryou.gasuki.com/hankaku/hankaku05.html
http://muryou.gasuki.com/hankaku/hankaku06.html
0136佐々木健介03/04/10 02:49ID:???
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < こんなサイトを見つけた
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
http://saitama.gasuki.com/kensuke/
0137nobodyさん03/04/10 06:33ID:???
Apache のモジュールをCで組む。
じゃ駄目なの?
0138fusianasan03/04/11 18:54ID:???
おい、早速C言語CGI普及に成功したで〜

http://www.aaacafe.ne.jp/

の無料ホームページでC言語CGIが使えるようになったぞ。
やっぱりこのスレのおかげだな
0139nobodyさん03/04/11 20:09ID:???
>>138
そこ・・・
CGI(C)の仕様について
> ご自分でコンパイルしてアップロードしてください。
> 拡張子は
> .cgi
> です。
どうしろと?FAQ読んでも、検索して調べてくださいとか書かれてるし。
バイナリをアップロードするのなら、CGIを許可されているところなら
何処でも動くけど?>C言語でかかれたCGIプログラム
普及っていえるのか・・・
0140nobodyさん03/04/11 20:54ID:???
>139
そこ借りてやってみた
perlでスクリプト書けばコンパイルできる
0141nobodyさん03/04/11 21:09ID:???
>>140
意味わからん
0142nobodyさん03/04/11 21:55ID:???
だからそこの鯖にcで書いたソースと
それをコンパイルするcgiをうpしてブラウザでcgiを呼ぶ
0143nobodyさん03/04/11 22:04ID:???
>>141
telnet.cgiのようなものを使えばできるということじゃないだろうか。
telnetやsshは使えないけど、Cコンパイラは使えると。
014414303/04/11 22:07ID:???
>>142
実際に試したの?
014514303/04/11 22:10ID:???
>>140に書いてあったか。
他のコマンドも使えそうだな。
014614303/04/11 22:57ID:???
おーできた!
↓試しに簡単なものを作って設置してみた
http://f13.aaacafe.ne.jp/~seraph/cgi-bin/mininslookup.cgi
0147nobodyさん03/04/11 23:28ID:???
>146 それソケット使ってる?
0148nobodyさん03/04/11 23:36ID:???
>>147
うん(socket関数はコード上では使っていないけどね)。
サーバー上でコンパイルしようとしたらなんかsocket.hがシンタックスエラーを起こしたんで自分のところでコンパイルしてアップした。
でもサーバー上でコンパイルできるのは確かみたい。
0149nobodyさん03/04/12 00:37ID:???
つーかみんなサーバ側でコーディングなりコンパイルなりしてんの?
ローカルに環境作ってそこで作ってテストして、できたものをサーバにアップするんじゃなくて?
0150何でやねん03/04/12 01:11ID:???
サーバ側でコンパイルするメリットって何かあるの?

何らかのトラブルの元になりそうで
あまり良くない予感がするんだけど

運用するサーバへの最適化とかは
コンパイラのオプションの問題であって、
コンパイルする場所とは別に関係ないよな?
0151nobodyさん03/04/12 08:49ID:???
>>150
>サーバ側でコンパイルするメリットって何かあるの?
SunOSとか探してきて入れるのウザイ。
0152nobodyさん03/04/12 11:25ID:???
palmとか組み込みとか実機でコンパイルできない場合は、
専用のクロス開発環境があると思うけど
unix系の場合は実機でコンパイルが普通では?

全然違う環境でコンパイルしてまともに動くの?
やったことないから不安だな
0153nobodyさん03/04/12 12:57ID:???
なるほど。
要するにサーバの機種やOSに対応する
クロスコンパイラを探すのが面倒だってことか。
どっちもLinuxとは限らないもんな。
0154nobodyさん03/04/12 13:03ID:???
同じLinuxでもCPUの違いによって動かないということもあるし。
0155nobodyさん03/04/12 16:46ID:???
Linuxが標準だと勘違いしてるやつウザイ
0156nobodyさん03/04/12 17:39ID:???
実機でコンパイルしないと、激しく不安に感じる私は変だろうか。
コンパイラ/ライブラリの違いによって動作が違ったり、
バグが出たりする心配があるんだけど。
0157nobodyさん03/04/12 18:43ID:???
互換のあるバイナリ配布が簡単に作成できる様なら、
オープンソースな文化は育たなかっただろうし。

>>146
overflow ...
0158nobodyさん03/04/12 19:49ID:???
>>156
ある程度のソース互換があったのが救いだな。
0159nobodyさん03/04/12 19:52ID:???
>>157
overflow?バッファが?起きないはずだけど。
0160fusianasan03/04/13 01:17ID:???
Python
Ruby
Perl
PHP
C(C++)

をいい順番でならべるとどう?
評価基準は、鯖への負荷/処理速度/CGI作成にどれだけ適しているか

を考慮して・・・。
0161fusianasan03/04/13 01:22ID:???
ちなみにCGI作成に適しているの基準は、

どれだけCGIをつくりやすいかってこと。

Perlならその点では評価がいいと思われる
0162nobodyさん03/04/13 04:27ID:???
>>160
PHP
(Perl)
C++
Ruby
Python
Pascal
C
LISP
BASIC
LOGO
0163nobodyさん03/04/13 10:54ID:???
鯖の負荷、処理速度だけを考えると
Cが最強か。

いや、アセンブラ。。。
0164nobodyさん03/04/13 14:10ID:???
>>162
LOGOワラタ
C++はそんなに上か?
016516403/04/13 14:12ID:???
あ、評価基準はつくりやすさだけじゃないのね。
0166nobodyさん03/04/13 14:24ID:???
C++は、Perlほどじゃないにせよ、かなり大雑把に
さくさくと書けちゃうよ。
0167Perl、PHP、C、HTMLファイルにして読む03/04/13 17:46ID:bgaBPkZL
2ちゃんねる型でPHPとPERLの速度比較
http://sugachan.dip.jp/download/bench.png
http://sugachan.dip.jp/download/read.php

PHPよりPerlの方が速いようですが、
鯖負荷の順序はどうなのだろう?

Perl、PHP、C、HTMLファイルにして読む
0168nobodyさん03/04/13 17:54ID:Ok9Y0fz8
凄いサイト発見です!! http://f2.aaacafe.ne.jp/~ishigaki/default.html
0169nobodyさん03/04/13 17:59ID:0bbeziRr
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0170fusianasan03/04/13 20:28ID:???
C++ってそんなにさくさくかけたのか。
0171nobodyさん03/04/13 20:31ID:???
>>170
Cよりは楽。
0172fusianasan03/04/13 20:33ID:???
ふーん・・・。試してみようかな。
0173nobodyさん03/04/13 20:37ID:???
>>167
そこの人はmod_perl使ってるよ。
普通のPerlじゃだめぽ。
mod_perlならPHPと同等かそれ以上じゃない?
Cが遅いのはサーバサイドじゃないから
C自体が遅いわけじゃない。
0174nobodyさん03/04/13 20:38ID:???
>Cが遅いのはサーバサイドじゃないから

何を訳の分からんことを?
0175nobodyさん03/04/13 20:40ID:???
ちなみにmod_perlが速いっていうのは
普通のPerlのスクリプトは
コンパイル→中間コード→実行
という手順だけど
mod_perlだと
最初の一回だけコンパイル→中間コード→実行で
次からはコンパイルをしないで中間コード→実行
となるんで劇的に速くなる。

PHPはコンパイル→中間コード→実行なんで
多少それよりかは落ちるかも・・・
PHPAとか中間コードを残すのもあるけど
まだ出始めで微妙だね。
0176173,17503/04/13 20:42ID:???
>>174
mod_perlとかmod_phpとかと比べたらCGIとしては
多少オーバーヘッドが大きいと言いたかっただけなんだが・・・
見当違いだったらスマソ
0177nobodyさん03/04/13 21:07ID:???
>>176
じゃあ、Cでモジュール作るってのが最強だと思うんだが。
0178173,17503/04/13 21:13ID:???
>>177
多分ね。
でもCGI如きでそこまでするやつは少ないだろ
0179nobodyさん03/04/13 21:23ID:???
>>178
Cでモジュール作るだけでは飽きたらずPerl実行環境にしてしまったmod_perlの作者はアホだと言うことに。
0180nobodyさん03/04/13 21:41ID:???
>>179
焦点が合ってない。
0181nobodyさん03/04/13 21:42ID:???
つーか言語比較はスレ違いだろ。ここはC/C++ってのが前提なんだから。
■ このスレッドは過去ログ倉庫に格納されています