5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :somebodyさん:03/03/23 13:20 ID:???
C言語で書かれたCGIってなかなかイイもの見つかりませんよね。

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

それはどうでもイイとしてKENTさんのCGIみたいに高機能で手軽なCGIのC言語版みたいなのがあったらなぁなんて思ったことありませんか?
このスレではそんなCGIについて語って、CでCGIの考えを普及していきたいです。


2 :nobodyさん:03/03/23 13:22 ID:sylBhDVS
2get

3 :nobodyさん:03/03/23 13:33 ID:sylBhDVS
サーバー管理人もシェルを開放するのを敬遠するよなぁ

4 :nobodyさん:03/03/23 13:34 ID:???
自分が管理人だから何も問題ない。

5 :nobodyさん:03/03/23 13:36 ID:sylBhDVS
>>4

「かぁ〜くぃ〜」とあられちゃん風味で言ってみるテスト

6 :nobodyさん:03/03/23 13:37 ID:???
掲示板だったらCで書くメリットないしぃ〜

7 :nobodyさん:03/03/23 13:40 ID:Kt/FP1fC
最近人生がおもしろくない。
そう思いのあなた!
http://www5e.biglobe.ne.jp/~rgxt5nl/index.htmlのページをお試しください!
100種類のタダで遊べるゲームに、
おもしろいパクリ物を集めたコーナーや、
管理人がすぐに素材にしてくれる素材掲示板
ほかにも、2ちゃん掲示板もありますよ!
自作フラッシュもあります。
とにかくいろんなコンテンツが豊富です!
常連になってくれる人大募集!


8 :nobodyさん:03/03/23 13:41 ID:sylBhDVS
>>6書き込み数や掲示板の内容にも因る

9 :nobodyさん:03/03/23 14:16 ID:???
スキンを使えるようにしてください、と言われて凹むわけだが

10 :nobodyさん:03/03/23 14:50 ID:F5JRnBB1
デコードのしかたを教えてください。
分かりやすく親切にね。

↓のdataにとりあえずいろいろ入るようにしました。
それからどうするの?

/* 関数のプロトタイプ宣言 */
int decode();
/*グローバル変数の宣言*/
char data[1024];/*出力文字*/
/* データ取得処理 */
int decode() {
/* GET/POST 取得 */
if(strlen(getenv("REQUEST_METHOD")) == 3) {
/* GET処理 */
strcpy(data,getenv("QUERY_STRING"));
} else {
/* POST処理 */
fgets(data,sizeof(data),stdin);
}
return 0;
}
以下省略

11 :nobodyさん:03/03/23 16:23 ID:???
test

12 :nobodyさん:03/03/23 16:23 ID:???
てえst

13 :nobodyさん:03/03/23 16:24 ID:???
あbcでfgひjklmn

14 :nobodyさん:03/03/23 16:24 ID:???
ごめんが爆

15 :nobodyさん:03/03/23 17:14 ID:???
if(strlen(getenv("REQUEST_METHOD")) == 3)

これでGETだと判断するのかよ。すごいなお前。

16 :somebody:03/03/23 18:13 ID:???
>>15

それは尊敬してるのかいっ?(笑)

17 :nobodyさん:03/03/23 18:16 ID:yv3NRqsM
http://www.agemasukudasai.com/bloom/

18 :somebody:03/03/24 02:52 ID:???
>>17
開かない(涙)

19 :anybody:03/03/24 09:14 ID:0p5nPuub
KENTに頼んでC言語でつくってもらうしかないな・・・

>>1

20 :nobodyさん:03/03/25 00:48 ID:???
KENT が C なんか書けるわけないに1ペリカ

21 :nobodyさん:03/03/25 02:14 ID:???
可変長文字列型なstring型のあるPASCALなら結構戦える気もする。


22 :コピペ:03/03/25 04:26 ID:???
//---- %で始まる特殊記号を変換する関数
void Escape( char* src )
{
char* dst;
for( dst=src; *src; src++ ){
if( *src == '%' ){
*dst++ = (AtoH(*++src)<<4) + AtoH(*++src);
}else if( *src == '+' ){
*dst++ = ' ';
}else{
*dst++ = *src;
}
}
*dst++ = '\0';
}


23 :nobodyさん:03/03/25 11:02 ID:???
>>22
なぁ、出力のない変換関数なんてただのゴミではないだろうか?

24 :nobodyさん:03/03/25 21:00 ID:???
>>22
これを書いた人はstrtolという標準関数を知らないのかな。
変換前の文字列が%で終わっていたら危ないね。
あとswitchを使った方が見やすくなると思う。
どうでもいいけど、Escapeだと逆のような気が・・・

>>23
え?

25 :yabukita:03/03/26 03:05 ID:0eTcQCDY
>>20

KENTはPerlだけか?

26 :nobodyさん:03/03/26 04:06 ID:???
おそらく。


27 :anybody:03/03/26 13:39 ID:???
>>26
漏れもPerl関連でKENTみたいに本を出したいのですが。

28 :yabukita:03/03/26 13:41 ID:6XIqCMZ4
>>27
適当にがんばってください。

C言語でCGIを普及するにはまだまだだな。

29 :anybody:03/03/26 13:42 ID:???
>>28

どうすればC言語CGIにみなの関心がいくか考える必要がある。
KENTみたいなスクリプトをC言語で書けば注目をあびるだろう。

30 :yabukita:03/03/26 13:43 ID:6XIqCMZ4
>>29
2ch風味な掲示板を是非C言語で作ってみたいですな。

31 :anybody:03/03/26 13:45 ID:???
C言語でCGIを動かせる無料鯖ってどこにあります?

32 :yabukita:03/03/26 13:46 ID:6XIqCMZ4
>>31

http://www.tok2.com/
とか?(telnetOKよ)

あとXreaもC言語のCGIがうごくが事前にLinux環境で
コンパイルする必要がありけり

33 :nobodyさん:03/03/26 16:01 ID:???
>>32
Linux環境コンパイルですが、
Winで、Borland C++ Compiler 5.5.1でコンパイルではダメかな?

34 :nobodyさん:03/03/26 16:57 ID:???
コンパイル(+リンク)って何をやってるか分かってればそんな質問は....

35 :nobodyさん:03/03/26 17:15 ID:???
>>34
どうにかしてクロスコンパイルするんじゃないの?w

36 :nobodyさん:03/03/26 20:35 ID:???
事前にコンパイルするなら、スタティックリンクしておけば大抵のところでは(C言語で書いたプログラムが)使えそうな気がする。
iswebはSparc+Solarisだったかな。性善説サーバでコンパイルしたものをアップしてみようかな。

37 :nobodyさん:03/03/26 20:46 ID:???
サーバー上でコンパイルできなければC言語が使えるとは言えないよね。
コンパイルしたものはもうCとは無関係だし。

38 :bloom:03/03/26 20:53 ID:C4vNyXIc
http://www.agemasukudasai.com/bloom/

39 :nobodyさん:03/03/26 21:01 ID:???
性善説サーバーは64bitなんじゃらだったからー??

(知らないのに勘でしゃべる)

40 :nobodyさん:03/03/26 21:02 ID:???
>>37
>サーバー上でコンパイルできなければC言語が使えるとは言えないよね。

そんなこと無いと思うよ。



41 :nobodyさん:03/03/26 21:23 ID:???
あまり関係ないけど、

実は、、ExecCGIが有効か無効か、しか問題にならない。

PerlでCGIが動くのなら、CGIが使えるっていうことだから、
#!/...形式以外の物も使える、つまり、C言語で書かれた物をコンパイルしたもの
(バイナリ)もCGIとして動くということになる。

42 :nobodyさん:03/03/26 21:27 ID:???
バイナリが動くか動かないかは分かりきったこと>>41なんだから、

そこであえてC言語が使えると書くのは、Cコンパイラーが使えます、
という事を意味する。はず。

43 :nobodyさん:03/03/26 21:28 ID:???
>コンパイラー
コンパイラ

44 :nobodyさん:03/03/26 22:11 ID:???
なんだこのスレは。

45 :nobodyさん:03/03/26 22:13 ID:???
>>44
同意。

しょうもないこと言ってるのはほっといて実装技法の話しようや。

46 :nobodyさん:03/03/26 22:16 ID:???
せめてC++にしてSTL使おうよ。。。

47 :nobodyさん:03/03/26 22:17 ID:???
>>46
少なくともstring位はほしいよなぁ。

48 :nobodyさん:03/03/26 22:19 ID:???
>>47
あとmap

49 :nobodyさん:03/03/26 22:36 ID:???
CでCGIの書籍があったよな。たしか便利なライブラリがあって、
今更デコードだなんだからやらなくてもいいはずだが。

50 :nobodyさん:03/03/26 22:38 ID:???
>>49
ライブラリ厨、爆誕!

51 :nobodyさん:03/03/26 22:40 ID:???
>>50
C標準ライブラリやSTLはスルーしてどうして俺だけ・・・

52 :nobodyさん:03/03/26 22:42 ID:???
>>51
そういやそうだな。スマソ。

53 :nobodyさん:03/03/26 23:07 ID:???
じゃあC/C++でCGIを語るスレってことで

54 :nobodyさん:03/03/26 23:09 ID:???
>>53
Pascalに謝れ。

 

55 :nobodyさん:03/03/26 23:20 ID:???
Pascalよ、斬り捨ててごめん。

じゃ、改めてC/C++でCGIを語るスレってことで

56 :nobodyさん:03/03/26 23:24 ID:???
>>55
なめんなこら!コンパイル済み実行ファイルなCGIを語りつつ普及・・・って普及するスレってなんだよ・・・。


Windows用ならGUIで設定とかできるとおもしろいなとか思ってみたり。

57 :nobodyさん:03/03/26 23:37 ID:???
設定って?CGI用の設定ファイルをGUIアプリに吐かせると言う意味?
それなら根本的にCGIとは関係ないと思うけど。
単にテキスト出力するプログラム作ればいいだけだから。

58 :nobodyさん:03/03/26 23:42 ID:???
>>57
普及するスレとか言っちゃう奴に理解してもらおうと思った俺がバカだった。

59 :nobodyさん:03/03/26 23:52 ID:???
ブラウザでHTMLフォーム表示したってGUIだしな。
Windows用ならGUIで、って何を指してるのかがわからん。

60 :nobodyさん:03/03/27 00:19 ID:???
テキストブラウザで表示したらGUIじゃないぞ。

>>59
GUIの設定ツールをつくるってことじゃない?対象がCで書かれている必用はないけど。

61 :nobodyさん:03/03/27 00:21 ID:???
>>60
キャラクタで構成されたGUIってのも存在すると思うが。

62 :nobodyさん:03/03/27 00:21 ID:???
>>60
>テキストブラウザで表示したらGUIじゃないぞ。
CUIのことよく分かってない予感。


63 :nobodyさん:03/03/27 00:26 ID:???
>>61
どこがグラフィカル?

64 :nobodyさん:03/03/27 01:05 ID:???
>>63
***すれ立てるまでもない質問はここで 第34刷***
http://pc2.2ch.net/test/read.cgi/tech/1048677915/l50

その話はこっちで現在継続中。


なんでわざわざ移動して質問したのかは謎。

65 :nobodyさん:03/03/27 01:27 ID:???
>>GUIで設定
言い出しっぺの>>56が説明もせずにいなくなったわけだが


66 :somebody:03/03/27 17:30 ID:???
ライブラリを使用ないし使用を示唆するような香具師へ
>>49

もちろんライブラリはあるなら使ったほうがよい。

Butもし、なんもなしでアドリブでつくれっていわれたときに
「ぼくちゃんライブラリがないとつくれましぇ〜ん」
なんてことにならずに独力ですべてつくれるようにしておきたいんだYO。

67 :nobodyさん:03/03/27 17:32 ID:???
>>66
お前、とっくに終わった話題をトレースして何が楽しい?

68 :nobodyさん:03/03/27 17:36 ID:???
>>66
ならこのスレと関係ないから一人でひっそりとC標準ライブラリでもSTLでも好きなの作ってれや。

このスレはどうでもいいことに食いついて全然話が進まないな。

69 :fusianasan:03/03/27 17:36 ID:???
ポケモンってC言語でつくれますか?
GBDKでつくれますか?

すれ違いならいいんです。ほんとごめんなさい。
フシアナサンってだれですか?

70 :nobodyさん:03/03/27 17:38 ID:???
>GBDK
Gaki Bakari Dana, Koko.

71 :fusianasan:03/03/27 17:38 ID:???
>>67

66です。すまむこ。このネタおわってたのね。
ところでふしあなさんってきかなくなったんですね。

72 :nobodyさん:03/03/27 17:38 ID:???
>>69
できないことはない、できればアセンブラの方が良いと思うが板違いだと思われ。


73 :fusianasan:03/03/27 17:43 ID:???
>>72

ありがとう。先キュー。OK牧場

74 :fusianasan:03/03/27 18:08 ID:???
CとC++の書き方を同じプログラム内で書くことはできますか?

75 :nobodyさん:03/03/27 18:09 ID:???
ただのC/C++質問スレになってる(;´Д`)

76 :nobodyさん:03/03/27 18:10 ID:???
>>74
統一しとけ。な。

77 :nobodyさん:03/03/29 17:51 ID:???
そんなことよりperlのBモジュールから吐き出されるCのコードはなんとかならんのか。
hello,world がなんで100KBになんだよ。

78 :初心者:03/03/31 22:24 ID:???
実験でくだらないCGIをCで書いてみたんだけど
使用したコンパイラが、な、なんとLSI C-86試食版なんすよ!!

しかし16Bitでカナーリ時代遅れの予感、、
誰かWindowsで動作する32Bitコードを吐き出す
フリーのコンパイラって知りませんか?

79 :nobodyさん:03/03/31 22:30 ID:???
>>78
bcc

80 :nobodyさん:03/03/31 22:31 ID:???
>>78
ネタ質問でageんな。

81 :nobodyさん:03/03/31 22:38 ID:???
>>78
gcc

は置いといて、
GNUライセンスじゃない、(できれば、BSDライセンスの)
正規表現ライブラリ無いですかね。

82 :nobodyさん:03/03/31 22:48 ID:???
>>81
LGNUライセンスって知ってる?


83 :初心者:03/03/31 22:54 ID:???
>>80
笑っちゃうかもしれないけど本当の話なんだす・・・

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

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

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



84 :nobodyさん:03/03/31 23:13 ID:???
>>79はスルーかよ!

85 :nobodyさん:03/03/31 23:13 ID:???
>>84
理解できないのはすべて無視。厨房は無視しとけ。

86 :初心者:03/03/31 23:28 ID:???
>>84
すません。見落としてました
検索掛けると、昔TurboPascalってので有名だった
ボーランドのCコンパイラがあったのですね
ちなみにC++ってのは良く分からん。。。

厨に構ってくれてありがd
これから勉強します

87 :nobodyさん:03/04/01 21:48 ID:???
>>82
LGPLですか?
いわゆる感染しないライセンスでしたよね。
ただ、GPLというだけで心理的にイヤなんで、敬遠してます。
ライセンスについても明るくないですし。

88 :fusianasan:03/04/01 22:59 ID:???
技術者のためのC言語でCGI作成(作:玉なんとか)
って本をreadをしたけど漏れ could not understandですた。

89 :fusianasan:03/04/01 23:02 ID:???
このスレは普及用のスレです。

90 :nobodyさん:03/04/01 23:30 ID:???
作った物を普及させるのか、作ること自体を普及させるのか。

91 :fusianasan:03/04/02 14:00 ID:???
>>90
作ることを普及するスレ

92 :nobodyさん:03/04/02 14:22 ID:???
じゃあよほど大きなメリットを示さないとなぁ。

93 :nobodyさん:03/04/02 14:28 ID:???
変数に型がある。

94 :nobodyさん:03/04/02 15:16 ID:???
>>93
"よほど大きな"で出てきたメリットがそれか・・・

95 :nobodyさん:03/04/02 15:34 ID:???
Perl厨には分からないだろうな。

96 :nobodyさん:03/04/02 16:03 ID:???
Cの変数に型があるのは常識なんだからスレ立ててまで語るほどでも無いと思うのだが。
「Cで作ると変数に型があるメリットが!!」で普及したら苦労しねーっていうか。

97 :fusianasan:03/04/02 21:44 ID:???
もっともな魅力は高速な処理かな・・・。
普及するぐらいなら簡単にCでCGIを作れるようになる
モジュールみたいなのを作る必要があるのかな?・・

98 :nobodyさん:03/04/02 21:48 ID:???
普及しない一番の原因はISPの鯖・無料鯖でShellを開放してるトコが殆どないからだと思うがどうか。

99 :fusianasan:03/04/02 21:48 ID:???
某CGIのBook曰く・・・、CはPerlの数十倍から数百倍の処理能力を持ち合わせているとか・・・


100 :fusianasan:03/04/02 21:49 ID:???
>>98
たしかにな・・・。
http://www.tok2.comって逝けたっけ?・・・shell

101 :nobodyさん:03/04/02 22:01 ID:???
>>99
その能力がインターネット介したときにどれだけの差になるのかと

102 :nobodyさん:03/04/02 22:07 ID:???
>>97
そういうライブラリがないかどうか探して、もしあったら次にそれの使い方を
わかりやすく解説してるサイトを探して紹介した方が普及させるには一番だと思う

これらが無いときに初めて自分で作るって手順になるのでは。

103 :nobodyさん:03/04/02 22:27 ID:???
PerlとCで書かれた同じ機能のCGIを比較した
テストの報告とかってどっかに無いのかな?

104 :nobodyさん:03/04/02 22:35 ID:???
速度差はほとんど普及の要因にならないと思うよ。
仮に100ミリ秒が10ミリ秒になったってネットを介したら誤差の範囲だし。
サーバ機で動かすだろうから一瞬だろうし。
速度差が出るほどのプログラム(処理に何分もかかるような)だと
そもそもCGIとして使い物にならないし。

105 :んじゃ:03/04/02 22:39 ID:???
アップローダのように扱うデータ量が多いCGIや
2ちゃんのようなアクセス多数で重たいCGIならば
効果てきめんって事か?

106 :nobodyさん:03/04/02 22:46 ID:???
いっそ「普及」なんてこと考えなければそれなりに成り立つスレだと思うんだけどな。
CでCGI質問スレとかCGI用Cライブラリを作ろうスレとかそんな感じで。
需要は少ないだろうけどカテゴリとしてあってもいいとは思う。


107 :nobodyさん:03/04/02 22:49 ID:???
>>105
アップローダのデータ量が多いってそりゃファイルをUL/DLするネットワークの
速度の問題で、CGIの速度の問題じゃないと思われ。

108 :nobodyさん:03/04/03 03:36 ID:???
可変長文字列
可変長配列・ハッシュ
正規表現によるマッチング・置換
URLデコード
文字コード変換
ロック

とりあえずこれだけサポートしたライブラリが欲しいところ。

109 :nobodyさん:03/04/03 06:09 ID:???
>>108
>URLデコード
>文字コード変換
>ロック

この辺はどうとでもなるっしょ。


110 :nobodyさん:03/04/03 06:13 ID:???
>>108
ロックならflockをサポートしたOSを使えばいいだろ。

111 :nobodyさん:03/04/03 21:07 ID:???
やっぱり++の方がいいと思うよ。

112 :nobodyさん:03/04/03 21:26 ID:???
>>111
綺麗に書けるわな。

113 :fusianasan:03/04/03 23:36 ID:???
>>108
そうだな、漏れは無理だが誰かつくってくれないかな・・・?

114 :nobodyさん:03/04/04 01:17 ID:???
CygwinでLinux環境用バイナリを吐き出すのも
ひと苦労だよ(´д`)
ttp://www.sixnine.net/cygwin/cygwin-doc/devel/cygwin-to-linux-cross-howto.html

115 :nobodyさん:03/04/04 01:54 ID:???
>>113
Object Pascalで良いなら書いても良いけどね。

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

116 :fusianasan:03/04/05 16:10 ID:???
KENTさ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜ん

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

どうせ誰かお前が作れとかいうんだろ?

117 :nobodyさん:03/04/05 16:11 ID:???
自分用のcgilibならつくったことある・・・

118 :nobodyさん:03/04/05 16:25 ID:???
ならだせ うそ臭いぞ。(w

119 :nobodyさん:03/04/05 16:33 ID:???
くれくれ厨はこのスレ向きじゃないから他逝った方がいいよ

120 :nobodyさん:03/04/05 17:36 ID:???
奥村先生のアレを使わせてもらいなさい。

121 :nobodyさん:03/04/05 19:17 ID:???
jcodeなんで使うの?

122 :nobodyさん:03/04/06 10:59 ID:???
KENTって外人なのか?

123 :nobodyさん:03/04/06 22:17 ID:???
http://websearch.yahoo.co.jp/bin/query?p=%a3%cb%a3%c5%a3%ce%a3%d4%a4%b5%a4%f3&hc=0&hs=0

124 :anonymouse@on.the.nettori:03/04/07 13:27 ID:???
>>121

EUCとかで投稿してくるヤシがいたら困るからね。
あとKENTって妻子持ちですか?

125 :anonymouse@on.the.nettori:03/04/07 13:29 ID:???
http://www.ab.aeonnet.ne.jp/~hibantyan/kent.htm

KENTさんは旅好きですね。

126 :nobodyさん:03/04/07 22:27 ID:???
北九州人だよ
http://allabout.co.jp/computer/cgiperl/closeup/CU20020707A/index.htm

127 :nobodyさん:03/04/08 14:41 ID:???
JIS/SJIS/EUC/UTF8変換すら書けない奴が
C/C++でCGIを作るって……何かのジョーク?

128 :nobodyさん:03/04/08 14:45 ID:???
>>127
車輪の再発明とは時にアホらしいもんです。

129 :nobodyさん:03/04/08 15:25 ID:???
学習・好奇心等が目的なら自分で作るのもアリだが「普及」が目的のスレだからな。

130 :fusianasan:03/04/08 16:46 ID:???
>>129

CでCGIを実際につくってみるしかないのかな?

131 :nobodyさん:03/04/09 00:45 ID:???
apache1.3の場合、cgiはプロセス生成のコストがかかって
使えないけど、
apache2.0はcgiの復刻の悪寒 ?

phpのモジュールなら現実的では。
http://jp.php.net/manual/ja/zend.creating.php


132 :fusianasan:03/04/09 23:40 ID:???
CのCGIで、ウルトラパワフルでパラダイスなBBSをつくるとするかな・・・。

133 :nobodyさん:03/04/10 00:49 ID:???
誰かオープンソースですごいライブラリ作ってよ。
そしたら使ってやっから。

134 :nobodyさん:03/04/10 02:45 ID:zZSFzDwz
Cじゃないと出来ない処理ってあるんか
そんなの無いよなぁ?

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

そういや2ちゃんねるのCGIも
Perlのスクリプトだったのを
後にCで書き直されたらしいな
ひろゆきもわけわからんだって。


135 :あぼーん:03/04/10 02:49 ID:???
 ( ・∀・)< こんなのみつけたっち♪ 
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

136 :佐々木健介:03/04/10 02:49 ID:???
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < こんなサイトを見つけた
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
http://saitama.gasuki.com/kensuke/

137 :nobodyさん:03/04/10 06:33 ID:???
Apache のモジュールをCで組む。
じゃ駄目なの?

138 :fusianasan:03/04/11 18:54 ID:???
おい、早速C言語CGI普及に成功したで〜

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

の無料ホームページでC言語CGIが使えるようになったぞ。
やっぱりこのスレのおかげだな

139 :nobodyさん:03/04/11 20:09 ID:???
>>138
そこ・・・
CGI(C)の仕様について
> ご自分でコンパイルしてアップロードしてください。
> 拡張子は
> .cgi
> です。
どうしろと?FAQ読んでも、検索して調べてくださいとか書かれてるし。
バイナリをアップロードするのなら、CGIを許可されているところなら
何処でも動くけど?>C言語でかかれたCGIプログラム
普及っていえるのか・・・

140 :nobodyさん:03/04/11 20:54 ID:???
>139
そこ借りてやってみた
perlでスクリプト書けばコンパイルできる

141 :nobodyさん:03/04/11 21:09 ID:???
>>140
意味わからん

142 :nobodyさん:03/04/11 21:55 ID:???
だからそこの鯖にcで書いたソースと
それをコンパイルするcgiをうpしてブラウザでcgiを呼ぶ

143 :nobodyさん:03/04/11 22:04 ID:???
>>141
telnet.cgiのようなものを使えばできるということじゃないだろうか。
telnetやsshは使えないけど、Cコンパイラは使えると。

144 :143:03/04/11 22:07 ID:???
>>142
実際に試したの?

145 :143:03/04/11 22:10 ID:???
>>140に書いてあったか。
他のコマンドも使えそうだな。

146 :143:03/04/11 22:57 ID:???
おーできた!
↓試しに簡単なものを作って設置してみた
http://f13.aaacafe.ne.jp/~seraph/cgi-bin/mininslookup.cgi

147 :nobodyさん:03/04/11 23:28 ID:???
>146 それソケット使ってる?

148 :nobodyさん:03/04/11 23:36 ID:???
>>147
うん(socket関数はコード上では使っていないけどね)。
サーバー上でコンパイルしようとしたらなんかsocket.hがシンタックスエラーを起こしたんで自分のところでコンパイルしてアップした。
でもサーバー上でコンパイルできるのは確かみたい。


149 :nobodyさん:03/04/12 00:37 ID:???
つーかみんなサーバ側でコーディングなりコンパイルなりしてんの?
ローカルに環境作ってそこで作ってテストして、できたものをサーバにアップするんじゃなくて?

150 :何でやねん:03/04/12 01:11 ID:???
サーバ側でコンパイルするメリットって何かあるの?

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

運用するサーバへの最適化とかは
コンパイラのオプションの問題であって、
コンパイルする場所とは別に関係ないよな?

151 :nobodyさん:03/04/12 08:49 ID:???
>>150
>サーバ側でコンパイルするメリットって何かあるの?
SunOSとか探してきて入れるのウザイ。


152 :nobodyさん:03/04/12 11:25 ID:???
palmとか組み込みとか実機でコンパイルできない場合は、
専用のクロス開発環境があると思うけど
unix系の場合は実機でコンパイルが普通では?

全然違う環境でコンパイルしてまともに動くの?
やったことないから不安だな

153 :nobodyさん:03/04/12 12:57 ID:???
なるほど。
要するにサーバの機種やOSに対応する
クロスコンパイラを探すのが面倒だってことか。
どっちもLinuxとは限らないもんな。


154 :nobodyさん:03/04/12 13:03 ID:???
同じLinuxでもCPUの違いによって動かないということもあるし。


155 :nobodyさん:03/04/12 16:46 ID:???
Linuxが標準だと勘違いしてるやつウザイ

156 :nobodyさん:03/04/12 17:39 ID:???
実機でコンパイルしないと、激しく不安に感じる私は変だろうか。
コンパイラ/ライブラリの違いによって動作が違ったり、
バグが出たりする心配があるんだけど。

157 :nobodyさん:03/04/12 18:43 ID:???
互換のあるバイナリ配布が簡単に作成できる様なら、
オープンソースな文化は育たなかっただろうし。

>>146
overflow ...

158 :nobodyさん:03/04/12 19:49 ID:???
>>156
ある程度のソース互換があったのが救いだな。

159 :nobodyさん:03/04/12 19:52 ID:???
>>157
overflow?バッファが?起きないはずだけど。

160 :fusianasan:03/04/13 01:17 ID:???
Python
Ruby
Perl
PHP
C(C++)

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

を考慮して・・・。

161 :fusianasan:03/04/13 01:22 ID:???
ちなみにCGI作成に適しているの基準は、

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

Perlならその点では評価がいいと思われる


162 :nobodyさん:03/04/13 04:27 ID:???
>>160
PHP
(Perl)
C++
Ruby
Python
Pascal
C
LISP
BASIC
LOGO

163 :nobodyさん:03/04/13 10:54 ID:???
鯖の負荷、処理速度だけを考えると
Cが最強か。

いや、アセンブラ。。。

164 :nobodyさん:03/04/13 14:10 ID:???
>>162
LOGOワラタ
C++はそんなに上か?

165 :164:03/04/13 14:12 ID:???
あ、評価基準はつくりやすさだけじゃないのね。

166 :nobodyさん:03/04/13 14:24 ID:???
C++は、Perlほどじゃないにせよ、かなり大雑把に
さくさくと書けちゃうよ。

167 :Perl、PHP、C、HTMLファイルにして読む:03/04/13 17:46 ID:bgaBPkZL
2ちゃんねる型でPHPとPERLの速度比較
http://sugachan.dip.jp/download/bench.png
http://sugachan.dip.jp/download/read.php

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

Perl、PHP、C、HTMLファイルにして読む

168 :nobodyさん:03/04/13 17:54 ID:Ok9Y0fz8
凄いサイト発見です!! http://f2.aaacafe.ne.jp/~ishigaki/default.html

169 :nobodyさん:03/04/13 17:59 ID:0bbeziRr
http://yahooo.s2.x-beat.com/linkvp/linkvp.html

170 :fusianasan:03/04/13 20:28 ID:???
C++ってそんなにさくさくかけたのか。

171 :nobodyさん:03/04/13 20:31 ID:???
>>170
Cよりは楽。

172 :fusianasan:03/04/13 20:33 ID:???
ふーん・・・。試してみようかな。

173 :nobodyさん:03/04/13 20:37 ID:???
>>167
そこの人はmod_perl使ってるよ。
普通のPerlじゃだめぽ。
mod_perlならPHPと同等かそれ以上じゃない?
Cが遅いのはサーバサイドじゃないから
C自体が遅いわけじゃない。

174 :nobodyさん:03/04/13 20:38 ID:???
>Cが遅いのはサーバサイドじゃないから

何を訳の分からんことを?

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

PHPはコンパイル→中間コード→実行なんで
多少それよりかは落ちるかも・・・
PHPAとか中間コードを残すのもあるけど
まだ出始めで微妙だね。

176 :173,175:03/04/13 20:42 ID:???
>>174
mod_perlとかmod_phpとかと比べたらCGIとしては
多少オーバーヘッドが大きいと言いたかっただけなんだが・・・
見当違いだったらスマソ

177 :nobodyさん:03/04/13 21:07 ID:???
>>176
じゃあ、Cでモジュール作るってのが最強だと思うんだが。

178 :173,175:03/04/13 21:13 ID:???
>>177
多分ね。
でもCGI如きでそこまでするやつは少ないだろ

179 :nobodyさん:03/04/13 21:23 ID:???
>>178
Cでモジュール作るだけでは飽きたらずPerl実行環境にしてしまったmod_perlの作者はアホだと言うことに。

180 :nobodyさん:03/04/13 21:41 ID:???
>>179
焦点が合ってない。


181 :nobodyさん:03/04/13 21:42 ID:???
つーか言語比較はスレ違いだろ。ここはC/C++ってのが前提なんだから。

182 :nobodyさん:03/04/13 21:46 ID:???
昔ゆいちゃっとのC言語版配布されてたよな・・・
今もされてるのだろうか

183 :nobodyさん:03/04/13 22:53 ID:???
>>181
C++はスレ違い

184 :nobodyさん:03/04/13 23:02 ID:???
>>183
さて、可変長文字列の扱いが地獄のように面倒になるわけだが。

185 :Perl、PHP、C、HTMLファイルにして読む:03/04/14 00:32 ID:dnrQZih1
HTMLファイルを読むのと、PerlやCとの比較がないのだが!

186 :nobodyさん:03/04/14 00:49 ID:???
いちばんお薦めなのは、機械語でWebサーバと専用CGIをセットで開発する

ことだぜい!

結構速いYO!

187 :nobodyさん:03/04/14 02:07 ID:???
>>186
それは理想だが、実際に
機械語・アセンブラで本当にCGIを書く気ある?
あるわけ無いよな。

それに一番近いのが、Cで開発するって事だろう。
最初はPerlで書かれていた2ちゃんねるのCGIも、
アクセス増加でサーバ負荷が高くなり、Cで書き直されたらしいし。



188 :nobodyさん:03/04/14 06:07 ID:???
>>187
彼はWebサーバごとスクラッチしろと言っているのですよ。


189 :nobodyさん:03/04/14 17:47 ID:???
>178
モジュールと言わずとも、FastCGIって手もある。
http://www.fastcgi.com/
いずれにしてもモジュール組み込まなきゃならないから、
root持ってないと辛いけど。
遊びで動かしてる自宅鯖とかなら無問題。
あと、C++で楽しいライブラリ知らない?
一応cgiccてのは見付けたけど、いかにもGNUな田舎臭い
ライブラリなんだよなあ。

190 :nobodyさん:03/04/14 20:28 ID:???
>あと、C++で楽しいライブラリ知らない?

WTLとか。

191 :nobodyさん:03/04/14 20:45 ID:???
C++で楽しいライブラリ作らない?

192 :nobodyさん:03/04/14 20:48 ID:???
>>191
MFCとか。

193 :nobodyさん:03/04/15 00:34 ID:???
結局このスレの住人は、誰一人
C言語でCGIを書いた奴はいないようだな。
脳内プログラミング…

194 :nobodyさん:03/04/15 01:48 ID:CDjnnd9Z
>>193
ん、実際に作って自分のsiteで使ってるよ。
新たにperl覚えるのもメンドイし。
簡単なbbsとアクセスログ付きカウンタだけだけどね。
簡単なライブラリも作ったけど、
さすがに人様にお見せできるレヴェルじゃないので(w

一応Servletもつかえる環境構築しだけど
家かえってまでそんな大掛かりなコーディングしないし。。


195 :nobodyさん:03/04/15 02:11 ID:???
>>193
書いた事はあるけど、共有鯖で使うのはちょと怖い。
安全性を担保できる方法を考えてます。

196 :fusianasan:03/04/16 19:33 ID:???
いまCのデコード作業やってんだけど・・・
日本語処理が難しいね。
バイナリがどうのこうのって、なかなかうまく逝きません。

ヒントを所望したい。

197 :nobodyさん:03/04/16 20:53 ID:???
標準ライブラリがワイド文字ライブラリを用意しているのに・・・

198 :nobodyさん:03/04/16 21:27 ID:???
ロケール指定を忘れるな。

199 :194:03/04/17 00:45 ID:???
>>196

デコード自体はマルチバイト意識しなくてもいいんやん?
あ、俺が作った時はあくまで個人用途なので
ちゃんと試験したらボロボロかもしれんが(w

文字コード関係は自作せず、nkfのソースをぱくったYO!
どっかのサイトで見本があったので。

200 :nobodyさん:03/04/17 05:56 ID:???
>>197
まともに実装されているとは限りません。
wchar_t == UCS-2でも幸せな部類です。
しかもCGIなので、どのencodingが飛んで来るかも分からない
ので、ワイド文字関係は基本的に使えません。

201 :山崎渉:03/04/17 12:00 ID:???
(^^)

202 :fusianasan:03/04/17 18:05 ID:???
いま次のような手順でやってるんですけどひらがなとかはわりとデコードできるんですけど・・・どこに問題がありますかね?あと今は&で区切る処理が無視してください。
1:GET/POSTの判別をする。/2:クエリーストリングや標準出力をよむ。/3:一文字ずつ次のように処理をする。
4:%が現れたら次の文字とさらに次の文字(それぞれ順にchar型変数A/Bとする。)
5:int jp = 0x10*A + B;
6:jpをchar型配列にぶち込んでいく。string[now] = printf("%c",jp);(nowには配列の現在の番号が入る。)
ご指摘お願いします。

203 :fusianasan(202:03/04/17 18:06 ID:???
追加事項
{+は空白にする。
{%でも+でもなければそのままchar型配列にぶち込む

204 :194:03/04/17 18:40 ID:???
>>202

基本は問題ないと思われ。。
パッと見、気になるのは手順の5。
int jp でなく char jp の方が心臓に良いと個人的に思う。
#符号の問題ね。

あとは初歩的な・・・
4の処理が誤ってないこと、
char配列操作時のポインタ操作が「多少複雑」になってると思うので
ケアレスミスが無いことを確認汁。

205 :fusianasan:03/04/17 18:43 ID:???
>>204
大変参考になる、返答ありがとうございました。
またがんばって試行錯誤してみます。
本当に有難うございますぃた。

206 :fusianasan:03/04/17 18:47 ID:???
今思ったのですが>>202
A;Bの処理で
swich(A) {
 case '0':
  A = 0x01;
 case '1':
  A = 0x02;
(中略)
 case 'f':
 case 'F':
  A = 0x0f
}
って漢字に16進にしなくてはいけませんよね?

207 :fusianasan:03/04/17 18:49 ID:???
206です。
%のあとにつづく2文字をA,Bに代入したあとの処理を表しています。
ちょっとミスってるけど(セミコロンぬけ)
その辺は見逃してください。
ちなみにBに関しても同じ処理を行う。

208 :194:03/04/17 18:49 ID:???
見落としてた・・・

>ひらがなとかはわりとデコードできるんですけど・

デコードできる== 正しい文字で認識出来るってことだよね?
html含め処理内の文字コードの統一は出来てる??


209 :nobodyさん:03/04/17 18:50 ID:???
>>200
何作っているのかしらんが、文字コードの統一処理なんて必要ないだろ。

210 :nobodyさん:03/04/17 18:59 ID:???
判別不能なエンコーディングで送られてくるかもしれない。

211 :194:03/04/17 19:00 ID:???
>>207

break; も抜けてるが勘弁してやろう(w

その通り、16進だよ。
ちなみに漏れは、大文字のA〜Fを返すブラウザに出会ったことがないので
こんな感じ。
#余りいい見本では無いが・・

char *str;
char w;

if( *str < 0x41){
w = *str - 0x30;
}else{
w = (*str - 0x41) + 10;
}


212 :fusianasan:03/04/17 19:15 ID:???
>>208
すべてシフトJISで送ってくれると思ってしていません。
(そこまで考える余裕がまだないからね・・・。)
HTMLはなるべくshift-jisで出力するようにメタタグに
記している。
>>211
ほんまや。break;が抜けちょる・・・・。

213 :nobodyさん:03/04/17 19:28 ID:???
H&Sから引用。

>int toint(int c)
>{
>if (c >= '0' && c <= '9') return c-'0';
>if (c >= 'A' && c <= 'F') return c-'A'+10;
>if (c >= 'a' && c <= 'f') return c-'a'+10;
>return 0; /* other */
>}

214 :nobodyさん:03/04/17 19:50 ID:???
昔書いたURLエンコードされた文字列をデコードする関数。

#include <stdlib.h>
char *url_decode(char *str)
{
char *p1=str,*p2=str,buf[3]={0};

for(;*p2;p1++){
switch(*p2){
case '%':
strncpy(buf,p2+1,2);
*p1=(char)strtol(buf,NULL,16);
p2+=3;
break;
case '+':
*p1=' ';
break;
default:
*p1=*p2;
p2++;
}
}
*p1='\0';

return str;
}


>>202
> string[now] = printf("%c",jp);
string[now]には1か負の数(おそらく-1)しか入らないけどいいの?

215 :nobodyさん:03/04/17 19:56 ID:???
デコードに文字コードなんか関係あるのか?

216 :bloom:03/04/17 19:56 ID:ahUYqmP+
http://www2.leverage.jp/start/

217 :215:03/04/17 20:02 ID:???
書き直そう。

デコードに文字コードが影響するのか?

218 :bloom:03/04/17 20:02 ID:VKhj20RH
http://www2.leverage.jp/start/

219 :fusianasan:03/04/17 22:04 ID:???
デコードテストをするために
今日ローカル鯖じゃなくてちゃんとしたUnix鯖で試したんすよ・・・。
じゃあローカル鯖でやったときよりイイ結果がでたんすよ。

やっぱりコンパイラによってちがうんですかね?
ローカル鯖ではLSI試食版つかってたんですけどね。
Borland c++だとファイルサイズが巨大になるからあんまり
好きじゃないんだな・・・。

220 :nobodyさん:03/04/17 22:29 ID:???
最適化OFFの予感

221 :nobodyさん:03/04/17 22:52 ID:???
>>220
最適化って速度とサイズでは全然違うと思うんだが。

222 :fusianasan:03/04/18 18:47 ID:???
ようわからんけど、今日ようやくデコードプログラムが完成しました。
ちゃんとデコードできるようになりますた。
わーい!わーい!

223 :nobodyさん:03/04/18 18:48 ID:???
>>222
もう少しCの標準関数について勉強した方がいいと思う。


224 :nobodyさん:03/04/18 20:42 ID:???
>>223
標準関数でURLデコードできる時代なのな?

225 :nobodyさん:03/04/18 21:02 ID:???
>>224
> 5:int jp = 0x10*A + B;

この変が阿呆らしいと言っているんだよ。strtolという関数があるだろ。


226 :nobodyさん:03/04/18 21:06 ID:???
逆だが、↓これと同じこと。
http://www.pro.or.jp/~fuji/mybooks/cdiag/cdiag.1.6.html

227 :nobodyさん:03/04/18 23:45 ID:???
226のurl、バッファオーバーフローの危機(ry
は置いといてマジレス・・

「車輪の再発明」だの「標準関数にある」だのってよく言われるけど
効率を追求する業務じゃなきゃ別にいいんじゃん?
確かに無駄な努力かもしれんけど、
初心(初学)者はそれによって大幅に理解が深まると思うし。

その気になれば、ほとんど全部自分で作れるのが
Cの長所でもあり短所でもあると思うよ。

逆に業務なら、『低レベル』まで自分で作れると
いざというとき強かったりする。
特殊な例かもしれんけど、一部組み込み系とか
ほとんど標準関数使えない様な環境もあるし。



自分で書いてて、屁理屈に見えてきた。
逝ってきます・・・

228 :nobodyさん:03/04/19 00:24 ID:???
strtol,ulとか使うと、なんとなく仰々しい感じを受けるが…。
strtolだと、プラス/マイナス符号を突っ込まれても大丈夫?
たとえば、'%-E' とかあった場合。
それほど大きな問題にならないとは思うけど。。

また、URLデコードの後は0x80から0xFFが含まれる場合を考えて、
char型では無くunsigned char型の方がいいと思われ。

229 :nobodyさん:03/04/19 00:31 ID:???
>>228
> たとえば、'%-E' とかあった場合。

そんな決まりにしたがわないデータはどうデコードされても文句は言えない。

230 :228:03/04/19 00:31 ID:???
strtolのエラートラップもしっかりとね。
変な文字食わせると0が返るから。

231 :229:03/04/19 00:32 ID:???
だってデコードのしようがないもの。

232 :228:03/04/19 00:36 ID:???
デコードのしようがなければ、エラーを返すものだと思うが。
変?

# お好きにどうぞ。

233 :231:03/04/19 00:40 ID:???
>>232
あんたがたまたま割り込む形で書き込んだだけで、別に>>230にレスしたわけじゃない。
>>229に補足しただけ。


234 :nobodyさん:03/04/19 06:05 ID:???
>>232
例外とかが投げれるならより綺麗なんだけどね。

235 :fusianasan:03/04/19 15:13 ID:???
動作すればどうでもいいやろ。

236 :nobodyさん:03/04/19 16:21 ID:???
いい加減Cなんて捨ててC++にしろ。

237 :nobodyさん:03/04/19 16:30 ID:???
Perlで書くときもデコードのエラー処理なんてしないような・・・・

238 :nobodyさん:03/04/19 16:32 ID:???
>>237
フォーマットがおかしいときはそもそもマッチしないからエラーの起こる余地がない。

239 :nobodyさん:03/04/19 16:51 ID:???
>>238
うん。だからエラー処理なんてしないよねと。
ゆえに>>232の言っていることはこれに関してはおかしいかも。

240 :nobodyさん:03/04/19 16:52 ID:???
>>239
Cの場合はいくつかエラーとなる要因はある。バッファオーバーフローとかな。

241 :fusianasan:03/04/19 21:18 ID:???
>>236:まだまだCの途中です。byF田K子

242 :山崎渉:03/04/20 05:58 ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

243 :fusianasan:03/04/20 17:37 ID:???
__↓>>242
                         /    ̄ ̄ー―-_
         ▲               )           /
        /ハハハ\             |\|\|\___イ
.     /      \            | /\  /\lllll|
   /   _   _  \          | /・\ /・\ |
.   |   ⊂⊃ ⊂⊃  |          |   ̄/、  ̄ ̄  )
  (|    ∴  ∪ ∴ |             |    ̄     /
   \      <=>  /           ヽ  <三>  /
    \____/               ヽ    /
          ∧               /| \/
  ,r‐‐‐‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐、r‐‐‐‐‐‐'´ `゙‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐、
 |  山崎君、きみはぬるぽしか言えないのかい|  そんなに卑怯者、卑怯者と |
 i  やっぱりきみは卑怯ものさ。      i  言わないでくれよ〜(泣    i

244 : :03/04/21 11:55 ID:???
つーか、適切なテストケース一覧を準備して自動でテストするプログラム作れよ。

245 :nobodyさん:03/04/23 19:47 ID:jAUiG1DX
>>245

What does it mean?

246 :nobodyさん:03/04/23 20:22 ID:???
>>245
再帰か。渋いな。

247 :nobodyさん:03/04/23 21:10 ID:???
終了条件がないね。スタックオーバーフロウかしら。

248 :nobodyさん:03/04/26 01:53 ID:???
perlばっかやってたからCがわかんねぇだ。
代入ひとつからしてもめんどくさくてしょうがない。

249 :nobodyさん:03/04/26 05:00 ID:???
>>248
代入って文字列の代入のこと?

250 :nobodyさん:03/04/26 08:39 ID:???
>>248
取りあえず文字列型かクラスのある言語使った方が幸せになれると思うよ。

251 :ふしアナ::03/04/27 21:06 ID:Cn2+e3lF
前友達にされた質問。
これってなんて読む?
(漏れの場合)
char ちゃー
argv あーぐぶい
printf ぷりんとふ
sprintf すぷりんとふ
hex へっくす
int いんと
getenv げっといーえぬぶい
void ぼいど
buffer ばっはー/ぶっふぁー
malloc まろっく

とりあえず今日はこのへんで・・・・

252 :nobodyさん:03/04/27 21:17 ID:???
>>251
もう流石に飽きたな。読み方ネタ。

253 :nobodyさん:03/04/27 21:21 ID:???
>>252
はげどう。

254 :ふしアナ::03/05/03 23:37 ID:4lYMudid
Cで作るときとC++で作るときどちらもメリット、デメリットが
あるとおもいますけど、それぞれの美点と欠点をあげてくれませんか?

255 :nobodyさん:03/05/03 23:38 ID:???
>>254
C++:可変長文字列が美しく実装できる。

256 :nobodyさん:03/05/03 23:39 ID:???
つーか標準ライブラリが提供しているじゃねーか。

257 :FENT:03/05/06 00:10 ID:mpO79UQ6
質問!
UNCGIをWINDOWSで実行モジュール".exe"にコンパイルしたことある人
コンパイル方法おしえて。
英語のDocを読むとターボCがなんちゃらでわからん。
できれば、VC++とかでコンパイルしたいのねー。





258 :FENT:03/05/06 00:14 ID:mpO79UQ6
>>254
WINDOWSで動かす場合だけど。
拡張子".cpp"で作成すればWINAPIをガシガシつかったCGIが出来るよ。


259 :nobodyさん:03/05/06 00:21 ID:???
(ノ_-;)ハア…

260 :nobodyさん:03/05/06 00:47 ID:???
めまいと頭痛が・・・

261 :FENT:03/05/06 01:04 ID:mpO79UQ6
焼きなおすか・・・
UNCGIに変わるもので、おすすめのものしっているかた
いらしたら教えてください。


262 :動画直リン:03/05/06 01:10 ID:qyy2Fj99
http://homepage.mac.com/hitomi18/

263 :nobodyさん:03/05/06 01:18 ID:???
#define hex2dec(c) (((c) >= 'a' && (c) <= 'f') ? ((c) - 'a' + 10) : ((c) >= 'A' && (c) <= 'F') ? ((c) - 'A' + 10) : ((c) >= '0' && (c) <= '9') ? ((c) - '0') : (c))

char *Decode(char *str)
{
unsigned char *p, *bstr;

if(*str == '\0') return str;
bstr = (unsigned char*)str;
for(p=bstr; *bstr!='\0'; bstr++) {
if(*bstr=='+') {
*p=' ';
p++;
}
else if(*bstr=='%') {
*p = (hex2dec(*(bstr+1)) * 16)+(hex2dec(*(bstr+2)));
p++;
bstr+=2;
}
else {
*p = *bstr;
p++;
}
}
*p='\0';

return str;
}

何年か前に作ったデコード関数。
マクロの括弧が無駄に多い気が・・・

264 :263:03/05/06 01:20 ID:???
今改めて見ると、何て無駄の多いコードなんだ・・・

265 :nobodyさん:03/05/06 01:29 ID:???
isxdigitとか知らないのか?

266 :_:03/05/06 01:35 ID:???
 ( ・∀・)/< こんなのみつけたっち♪ 
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku07.html
http://japan.pinkserver.com/kensuke/zenkaku/index.html
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku08.html
http://japan.pinkserver.com/kensuke/hankaku/hankaku10.html
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku07.html
http://japan.pinkserver.com/kensuke/hankaku/hankaku03.html
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku05.html
http://japan.pinkserver.com/kensuke/hankaku/hankaku01.html
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku06.html
http://japan.pinkserver.com/kensuke/hankaku/hankaku04.html
http://www.japan.pinkserver.com/kensuke/hankaku/hankaku09.html

267 :261:03/05/06 02:05 ID:mpO79UQ6
>>263
返信ありがとうございます。すみませんでした。
う〜ん
ヘキサのデコードというか、UNCGIを使いたかったのは、
HTTPのリクエストから切分けてデコードした後に、
環境変数にセットしている、仕組みをそのまま使いたいなーって思って
たんですよ。

UNCGIの処理の流れ的には
・環境変数取得
・切離し後デコード
・それぞれ別の環境変数にセット
・URLの引数(ttp://***/uncgi/aaa.exe)のプログラム(aaa.exe)を起動
・起動されたプログラムは、環境変数よりPOST及びGETの
 パラメータを取得

こんな感じだとおもうんですよ。作ればいいんですけど・・・

ただ、コンパイルできたらいいなーと思いまして。
VC++だと、何ヶ所かコンパイルにひっかかってしまうので
私のめんどくさがりやから・・・質問してしまいました。


268 :261:03/05/06 02:08 ID:mpO79UQ6
>>267 追加
ただ・・この仕組みをつくるとしたら疑問があるんです。
HTTPのリクエストで起動されたCGIによってセットされる環境変数は、
ブラウザごとに別々の扱い(DOSプロンプトのように)になるのでしょうか?
同時にアクセスがあった場合、同一名称の環境変数は、それぞれブラウザ
ごとに違う値を保持するのかな???


269 :nobodyさん:03/05/06 03:04 ID:CpGJxcjL
自分でデコードしてたけど、画像アップロードとかあるんで
結局cgiccに移行したよ。cgiccおすすめ。

270 :bloom:03/05/06 03:10 ID:qyy2Fj99
http://homepage.mac.com/ayaya16/

271 :_:03/05/06 03:25 ID:???
 ( ・∀・)/< こんなのみつけたっち♪ 
http://www.japan.pinkserver.com/kaorin/moe/jaz04.html
http://japan.pinkserver.com/kaorin/mona/index.html
http://www.japan.pinkserver.com/kaorin/moe/jaz05.html
http://japan.pinkserver.com/kaorin/moe/jaz08.html
http://www.japan.pinkserver.com/kaorin/moe/jaz09.html
http://japan.pinkserver.com/kaorin/moe/jaz02.html
http://www.japan.pinkserver.com/kaorin/moe/jaz06.html
http://japan.pinkserver.com/kaorin/moe/jaz01.html
http://www.japan.pinkserver.com/kaorin/moe/jaz10.html
http://japan.pinkserver.com/kaorin/moe/jaz07.html
http://www.japan.pinkserver.com/kaorin/moe/jaz03.html

272 :_:03/05/06 04:07 ID:???
   川o・-・)ノ <先生!こんなのがありました!
http://www.japan.pinkserver.com/kaorin/moe/jaz03.html
http://japan.pinkserver.com/kaorin/mona/index.html
http://www.japan.pinkserver.com/kaorin/moe/jaz02.html
http://japan.pinkserver.com/kaorin/moe/jaz08.html
http://www.japan.pinkserver.com/kaorin/moe/jaz09.html
http://japan.pinkserver.com/kaorin/moe/jaz05.html
http://www.japan.pinkserver.com/kaorin/moe/jaz06.html
http://japan.pinkserver.com/kaorin/moe/jaz01.html
http://www.japan.pinkserver.com/kaorin/moe/jaz10.html
http://japan.pinkserver.com/kaorin/moe/jaz07.html
http://www.japan.pinkserver.com/kaorin/moe/jaz04.html

273 :nobodyさん:03/05/06 07:50 ID:???
>>267
誰 も お 前 に は 返 信 し て い な い よ

274 :nobodyさん:03/05/07 00:56 ID:ZdGvFTnv
>>273
↑朝早くから
 誰 オ マ イ



275 :nobodyさん:03/05/08 15:14 ID:???
どう考えたってスカラー電磁波って、
ニコラ・テスラのパクりだろ。( ゚Д゚)
http://plaza16.mbn.or.jp/~satchel/

276 :nobodyさん:03/05/20 01:53 ID:???
C++版(for文2回バージョン、入力文字列のチェックなし)

void Http::Decode(std::string* pstrQuery)
{
  std::string::size_type nPos;

  for (nPos = 0; (nPos = pstrQuery->find('+', nPos)) != string::npos; pstrQuery->replace(nPos++, 1, 1, ' '));
  for (nPos = 0; (nPos = pstrQuery->find('%', nPos)) != string::npos; nPos++)) {
    unsigned int nCode;
    if (std::sscanf(pstrQuery->c_str() + nPos + 1, "%02x", &nCode) == 1)
      pstrQuery->replace(nPos, 3, 1, static_cast<char>(nCode));
  }
}

277 :山崎渉:03/05/22 02:04 ID:???
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

278 :山崎渉:03/05/28 17:18 ID:???
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

279 :山ア渉:03/06/15 18:32 ID:VQqVlPF2
構造体がわからないのですが・・・。

280 :King.Yamazaki ◆/3cyWCTf.c :03/06/15 18:42 ID:VQqVlPF2
Please tell me some FREE servers at which you can use C.
I will show you any of them.

http://fh.aaacafe.ne.jp/

GET! Free Server Space!

281 :山崎 渉:03/07/15 11:12 ID:???

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

282 :山崎 渉:03/08/02 02:39 ID:???
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

283 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:23 ID:???
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

284 :nobodyさん:03/08/10 00:34 ID:3gdl3sO5
2chって、Cで稼動させるのと、Javaで稼動させるのと、
どっちが高速安定動作するんですか?

285 :nobodyさん:03/08/10 00:37 ID:???
( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン
 ( ゚д゚)ポカーン ( ゚д゚)ポカーン
( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン ( ゚д゚)ポカーン

286 :_:03/08/10 00:40 ID:???
http://homepage.mac.com/hiroyuki45/

287 :nobodyさん:03/08/10 16:43 ID:37o8iGE7
Cでファイルロックをしたいのですが窓とunixの両方で動作させるためにはどうすればよいのでしょうか?
普通にflock関数を使うのはまずいですか

288 :nobodyさん:03/08/10 17:10 ID:???
>>287
#ifdef

289 :nobodyさん:03/08/10 17:22 ID:j1wuC9e6
>>287
ム板とマルチ。

290 :nobodyさん:03/08/10 19:36 ID:???
>>289
うるさいヴぉけ

と思ったらあれがレスですか。あなたはもしや照れ屋さんですか?

291 :nobodyさん:03/08/14 14:08 ID:oA+wkOB6
どうしてWeb系のCプログラマーってインデントしないの?
TABの1Byteをケチりたいの?

292 :nobodyさん:03/08/14 14:11 ID:???
>>291
するけど?見た例がたまたまそうだったんじゃないの?

293 :nobodyさん:03/08/14 14:38 ID:???
>>291
2chにコピペされたコードを見た・・・・?

294 :山崎 渉:03/08/15 22:31 ID:???
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

295 :nobodyさん:03/08/17 15:25 ID:VoWMe2O6
ホシュ

296 :あぼーん:あぼーん
あぼーん

297 :______:03/08/17 15:32 ID:???
  ∋8ノノハ.∩  http://www.yakuyoke.or.jp/
   川o・-・)ノ <先生!こんなのがありました!
http://www.hokekyoji.com/
http://members.tripod.co.jp/hossyoji/index/
http://www.honmonji.or.jp/
http://www.maap.com/tanjoh-ji/
http://www.kuonji.jp/
http://www.butsuzou.com/jiten/sanmen.html
http://www.butsuzou.com/list1/sanmen2.html
http://www.butsuzou.com/list1/sanmen3.html
http://www.butsuzou.com/keitai/sanmen-kz.html


298 :nobodyさん:03/08/19 17:06 ID:???
>>88の本読んだけど……
とりあえず
「固定長」のバッファをなぜかmallocした上にクリアすらせずに使うのと
関数の返り値を片っ端から捨てていくのと
入力データを長さもチェックせずにstrcpyで突っ込むのはやめて欲しい。


まあ、それを鵜呑みにしてコード書く奴も書く奴だけど。

299 :nobodyさん:03/08/22 01:40 ID:???
>>298

元々買う気なくて立ち読みしかしてないのでナンだけど、
どこで固定長のバッファをmalloc()してた?

興味本位で探してみたけどみつけらんなかったYOu

300 :nobodyさん:03/08/23 01:29 ID:???
>>299
スタックを圧迫しないと言うことで再帰とかのときに有利なのかも知れない。

301 :nobodyさん:03/08/24 04:11 ID:???
あとでreallocするつもりなら予め固定長でもmallocする必要があるし。

302 :nobodyさん:03/08/28 14:55 ID:???
Sygwinでロック関数が動きません・・・

303 :nobodyさん:03/08/31 16:08 ID:oQ0ZtH63
read.cgiのC言語バージョン作ったんだけど
配布したらアクセスどんどんくるかな?
って思っているんです。
需要ありかしら?
(今Perlでつくったやつ配ってるんですけどちょくちょく使っている人がいます)

304 :303:03/08/31 16:11 ID:oQ0ZtH63
>>298
たしか88投稿したのは、おれだけど、多少上達してから
それは思いました。
(っつうかそいつの本のまねしてやったら友達にセキュリティやべえぞって言われたんですね・・・)

305 :303:03/08/31 16:12 ID:oQ0ZtH63
今気づいた。
ここは普及スレだった。。。。。。。。。。

306 :nobodyさん:04/01/27 13:55 ID:???
age

307 : :04/01/28 20:44 ID:???
てst

308 :nobodyさん:04/02/02 11:42 ID:???
結局開発に時間がかかりすぎるとか
敷居が高いとかだろ
WEBのためにC++覚える馬鹿(暇人)はいないし。
C#が普及すれば少しはCのCGI増えるかな?

309 :nobodyさん:04/02/02 16:06 ID:KHxdJaNy
>>308
ha?

310 :nobodyさん:04/02/02 16:42 ID:???
>>309
omaemona

311 :nobodyさん:04/02/10 19:56 ID:???
M$専用

312 :nobodyさん:04/02/11 01:13 ID:???
>>308
Cで開発しても、そんなに時間はかからない。デバッグにしてもさほどでは
ない。開発に時間がかかるのは言語慣れしてないからだろう(漏れが Perl
でやったら Cの倍以上かかる)。

敷居が高いのは認める。関連書籍は圧倒的に少ないし。コンパイラという時点
で決して低くはない。特に初心者は大変だろう。

Webプログラミングを目的として C++覚える人というのも確かに奇特だが、C++
を覚えていれば他にツブシも効くだろう。決して損な選択ではないと思う。

313 : ◆0UMFbJB2oM :04/02/12 18:21 ID:pt0vOHBR
そうだけれども・・・・

314 :nobodyさん:04/02/17 04:30 ID:???
>>303
需要はあるYO!

315 :nobodyさん:04/02/17 04:40 ID:???
>>268
> 同時にアクセスがあった場合、同一名称の環境変数は、それぞれブラウザ
> ごとに違う値を保持するのかな???

POSTなり GETなりのリクエストがあってはじめて CGIが起動されるわけだから、起動されたプロセスで
「俺はどれだ?」なんて事を留意する必要は無い。ただ単一動作をするのみ。

いくつものブラウザからいくつものリクエストをされた場合は、それぞれ個別にプロセスが起動される
だけだから、その時その時の環境変数を読めばよい。HTTPデーモンは、そういう風にしてくれるはずだ。

・・・と、偉そうに書いたが、間違ってたら激怒キボンヌ。

316 :nobodyさん:04/02/17 13:36 ID:???
こーいう話題こそCGIスレ行きだと思うんだけどなー ままならぬものだw

同じCGIプログラムでも、Request毎に違うプロセスが起動されて
そのRequestの発行したブラウザの情報が環境変数に設定れるよん

317 :nobodyさん:04/02/17 17:47 ID:???
こーゆう疑問を解消する事で、Cで CG I やる人が増えれば、スレタイには沿うんでないかと。

318 :nobodyさん:04/02/19 02:17 ID:???
>>317
なるほど。


って 伸びないスレだなw

319 :nobodyさん:04/02/19 13:48 ID:???
まぁ、だんだん暖かくなってきたしな。

320 :nobodyさん:04/02/19 18:08 ID:???
いやぁますますC言語日和で〜。

321 :nobodyさん:04/02/19 22:47 ID:???
Cでapacheモジュールを作る話題はどこに逝ったらいいですか?

322 :nobodyさん:04/02/19 23:29 ID:???
>>321
Linux板かUNIX板

323 :nobodyさん:04/02/20 00:10 ID:???
一番詳しそうな人が見てそうなのはunix板のapacheスレ

324 :nobodyさん:04/02/20 01:29 ID:???
>>322-323
ありがd

CGIが重い重いと言われてるので、
どうせCならapacheモジュールにしちゃえと思ってて、
WebProgだと思ったけどunix板ですか…

ちょっとこわひ…

325 :nobodyさん:04/02/20 03:16 ID:???
unix板を開いたら
「彼女」「イブ」等のキーワードのスレを探せ。「雑談」でもいいが。

326 :nobodyさん:04/02/20 06:01 ID:???
>>325
重ね重ね産休
でも、聞く前になんとなく自己解決

apacheモジュールは軽すぎますなー

327 :nobodyさん:04/02/20 09:57 ID:???
>>325
ヽ( ・∀・)ノ ウンコー

328 :nobodyさん:04/02/22 04:18 ID:???
おれはCでURIデコードするときは、
%だったら続く2文字をテーブル変換するって方法使ってるよ。
テーブルは上の桁用と下の桁用をそれぞれ作って足し算。

329 :nobodyさん:04/03/05 04:48 ID:???
h o s h u

330 :nobodyさん:04/03/06 19:57 ID:???
7年前に書いたデコードルーティンから抜粋
unsigned char n,h,l,const t[256]={…,0,1,…,8,9,…,10,11,…14,15,…,10,11,…,14,15,…}
if(('%'==*s)&&(-1!=(h=t[*(s+1)]))&&(-1!=(l=t[*(s+2)]))) { *d++=(h<<4)|l; s+=3; } else …

331 :nobodyさん:04/03/11 00:27 ID:???
EXEならではの利点があるはず。
socket使って2ちゃんねるのトップを取得してタグコピーして表示するとか。
この場合とくに意味は無いけど、面白い使い方をしている例希望。

332 :nobodyさん:04/03/11 00:58 ID:???
EXEならではの利点

333 :nobodyさん:04/03/11 01:02 ID:???
まずは、"CGI"って何なのかを理解してくれ

334 :nobodyさん:04/03/11 01:04 ID:???
>>331
ドザ氏ね

335 :nobodyさん:04/03/11 09:01 ID:???
なんだ EXE ならではの利点って。釣りか?
インタプリタみたいな事をやるよりは速いかも、程度しか思いつかないが・・・。

とか言う漏れも C で CGI やってるわけだが。
だって Perl とか PHP で書くと、キレイなソースに出来ないんだもん・・・。<己れのスキル不足棚上げ

336 :nobodyさん:04/03/11 10:52 ID:???
慣れだ、慣れ。

337 :nobodyさん:04/03/19 23:07 ID:wAGafw57
>>303
ttp://c.toshinari.net/cgi/bbs/mtbbs2/
これだね。

338 :nobodyさん:04/04/05 21:18 ID:???
俺はC++で作ってるが、char *get_value("name");とかchar *get_cookievalue("name");といったのを
ひとまとめにしたクラスを作った。

まだマルチパートのPOSTに対応していない・・・

339 :nobodyさん:04/04/11 13:58 ID:???
おーい。どこかに簡単なサンプルというかCGIに特化した講座はないかい?
何からはじめたらいいのかわかんないよ。ググリ疲れました・・・。

340 :nobodyさん:04/04/11 14:10 ID:???
"CGI"とは何なのか知っていれば
サンプルも何も無いと思うけど。

341 :nobodyさん:04/04/11 14:57 ID:???
>>339
http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/

342 :nobodyさん:04/04/12 05:34 ID:???
>>341
ありがとう!


343 :918:04/04/26 19:58 ID:???
>>335
Cならではというよりバイナリならではのほうが大きいのでは?

1、データベースなんかを作ったとき処理が速い。
2、大抵のCGI対応のサーバーなら使える。インタプリンタよりも多く対応(多分)。
3、インタプリンタはクロスサイトスクリプティングの危険があるが、バイナリなのでそれは無いっぽい。

そもそも、CGIの元祖はC言語世代らしい。

344 :nobodyさん:04/05/07 18:55 ID:???
ここの住人て

C/C++ CGIスレッド
http://pc5.2ch.net/test/read.cgi/php/1077753522/l50

と100%かぶってる気もする


345 :nobodyさん:04/05/09 13:54 ID:???
>338
っていうかcookieは全部js操作でいい

346 :nobodyさん:04/05/09 17:57 ID:???
( ´,_ゝ`)プッ

347 :nobodyさん:04/05/18 05:37 ID:???
ところで多少は普及したのだろうか?

348 :nobodyさん:04/05/18 21:17 ID:???
サッパリサッパリ

349 :nobodyさん:04/05/25 05:52 ID:8qS/bgdw
フォームのデータをデコードするところで、
なんで16をかけたり、4ビットシフトしたりするのかが
わからないんです。

あれはいったい何をしてるんでしょう。
ググってもググっても何も出てこないので。。。。


350 :nobodyさん:04/05/25 06:22 ID:???
'%23'を'#'に変換したりとかの話なら、URLエンコード/デコード。

351 :nobodyさん:04/05/25 16:56 ID:???
>>349
ググり方が足りないだけっちょ。

ttp://sometime.minidns.net/~ccgi/decode_encode.html
より引用

> "%xy"という3バイトの文字列を16進数に変換する処理としては、
> 2バイト目を0x10倍(0x10をかけるか、4ビット左シフト)して3バイト
> 目を加える、という処理方法が有名ですが、

352 :nobodyさん:04/05/26 01:19 ID:BPDOKhgc
>>351
サンクスです。
ググり方が足りない。。。。
反省します。。。。。

353 :nobodyさん:04/05/30 11:50 ID:AsPEp7PV
c++でcgi作ってます。コンパイルしてそのままcgiとして動かしていますが、
このようにweb用cgiを作るための便利な定番ライブラリって何かありますか?

354 :nobodyさん:04/05/30 13:23 ID:???
洩れも調べ中
c++ならcgiccってのが上のほうに紹介あった気がする。
http://mm.apache.or.jp/pipermail/apache00-01/2000-December/002076.html



355 :nobodyさん:04/05/30 13:41 ID:???
コンパイルしてからUPしても動かないときがあるよね。
まいっちんぐ

356 :nobodyさん:04/05/30 21:39 ID:???
http://tazthecat.net/~isaac/cgixx/
cgixx - BSD Licenseだそうだ。これから試してみるべ。

357 :nobodyさん:04/05/30 22:13 ID:???
cygwin->freeBSD用のクロスコンパイラの作り方をまとめました。
aaacafeで使えます。
D言語用に作ったのですが、c,c++も動きます。c,c++だけにしたければオプションでそうできます。
http://www.wikiroom.com/sakurai/?freebsd%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%EB
参考にしてください。
どっかデッカイデータ置いていいところあればバイナリでも配布できる気もするけど、
自分はもってないので、がんばってインストールしてみてください。
もうちょっと、手軽にクロスコンパイラが手に入れば、なぁ。
Linux版も似たような感じで作れると思いますがまだやっていません。
では。


358 :nobodyさん:04/05/30 23:37 ID:???
そう、クロスコンパイラをバイナリで配布できればいいんだ。
どうやったら、いいのか考えたら。
1.どっかデッカイデータを入れさせてくれるサイトを探す。Vectorとか。
  問題はバイナリデータをメールで送るんだったような記憶がある。
  規約読めってかんじだな。
2.P2Pで配信しちゃう。問題はちゃんと検索に引っかかってくれるかどうか。
  やったことないのでわからん。
3.ソースフォージみたいなのに登録しておかせてもらう。
  なんか、敷居高そうなのが問題ありかなぁ。

あと、ライセンスとかどうなるんだか、よーわからん。cygwinで作ったクロスコンパイラ
のライセンスはどうしたらいいんだろうって問題もある。
この辺の問題をクリアしてあると、だいぶ普及するんじゃないかなぁ。


359 :nobodyさん:04/05/31 04:22 ID:???
>>357-358
ぐっじょーぶ!!

ソースアップしてコンパイル結果のバイナリ、ダウソできるような
鯖たてたらどうだろ?自分で環境用意できない人には重宝するかも。



360 :357:04/05/31 20:55 ID:???
>>359
それは危険だと思います。aaacafeはgccをcgiで動かせるそうですが。
危険を無視すれば面白いですよね。会員認証付きで、作ることになりますね。
アクティブXでeclipseをブラウザに取り込んで、cvsに入って、ぽいぽいと。


クロスコンパイラのバイナリ配信を可能にしました。
http://www.wikiroom.com/sakurai/?freebsd%A5%AF%A5%ED%A5%B9%A5%B3%A5%F3%A5%D1%A5%A4%A5%E9%A5%D0%A5%A4%A5%CA%A5%EA
c,c++,dをfreebsd用にコンパイルできます。
linux用も作ろうと思いますが先人の知恵があるのでこれ理解してからにしようと思っていますが。

インストール手順もずっと楽になりました。
ただ、これで、問題のあるプログラムは作らないでくださいね。

361 :nobodyさん:04/05/31 21:54 ID:???
CでWikiクローン作ってるものだが、思った以上に難しいな。

362 :357:04/06/01 08:59 ID:???
CでWikiクローンですか、、、。名前は、Cikiですかねぇ。
Dならあるですぞ。Diki。


363 :357:04/06/01 09:01 ID:???
わぁ、すでにあったぁ。
http://ciki.nostdal.net/cgi-bin/ciki
C++でできてるみたいですね。


364 :360:04/06/02 09:37 ID:???
Eclipseうんぬんは、ちょっと妄想入ってますな。
でも、やっぱり危険だと思うし、自分で用意できない。
間違えて、無限ループされても困る。
wikiライクなエディタ付きwebベース開発環境を妄想してます。
能力がついて来てないのですが。
とりあえず、perlでできる事がdでもできてしまう
環境を作ることには意義があると思っています。


365 :nobodyさん:04/06/05 01:01 ID:???
CGIを作るならC++の方が適しているんでしょ?
なんとなくそう思っただけです。


366 :360:04/06/05 17:03 ID:???
>>365
STLあたり使えば、文字列操作が楽でしょうからねぇ。と、私も思っただけ。


367 :nobodyさん:04/06/08 00:25 ID:???
フォーム入力の処理はヌル終端文字列の方が楽だったよ
データ構造にはstd::list使ったけど

368 :nobodyさん:04/06/08 23:58 ID:nLqW4woP
PHPのソースからbase64encode関数やらsplit関数を切り出して使ってる俺はアホですか?

369 :nobodyさん:04/06/09 00:14 ID:???
普通

370 :nobodyさん:04/06/09 11:22 ID:???
yahooのシステムは主にCを使ってるらしいですね。
なんかメリットあるから使ってるんでしょうかね。

371 :nobodyさん:04/06/09 23:29 ID:???
とりあえずバイナリならソースが漏れないし触れる人間が多いからじゃない?
要件がはっきりしてるからこそ成せる技なんだろうけど。

372 :nobodyさん:04/06/10 02:01 ID:???
>C言語は、データベースを最も高速にアクセスできます
>http://ash.jp/db/

この言葉を100%信用しても大丈夫なのかな。



373 :nobodyさん:04/06/10 14:20 ID:???
うーむ。ただのCGIでコネクションをプーリングしないのと、Javaでコネクションをプーリングする、、、、。
どちらが速いんでしょうな。と思うD房でした。リンク先も読まずに、適当な発言。

374 :nobodyさん:04/06/11 19:53 ID:???
実際問題、鯖への負荷はどうなの?

375 :nobodyさん:04/06/12 00:29 ID:???
>>372
そこ見てみたけど、言葉使いがモニョモニョしてるな。本人は分かってるんだろうけど、
分かってない人のために書いたら、ちょっと不思議な文章になりました、って感じがする。

Cで高速にアクセス出来るのは確かだが、ヘタレなコードなら遅くなるし、最も高速に
アクセスしたければアセンブラで組むだろう(実用的な意味はほとんど無いが)。

だから、厳密に言えば「最も高速」イコール Cではないのだが、一般的に言えば
「そう言って差し支えない」レベルの話だ、ということだろう。

376 :nobodyさん:04/06/12 01:10 ID:???
現状ではApacheモジュールがWeb至上最速&最低負荷でしょう。
フォーム受け取り系で使ってるが恐ろしく速い。
ブラウザ上の感触が10行くらいのプレーンテキストを読んだ感じに似てる。
おなじ処理をC++/CGIで試したがやはり最初のコストがでかいのでモタつく。

377 :nobodyさん:04/07/06 06:41 ID:???
FastCGIは?

378 :nobodyさん:04/08/09 18:38 ID:uDC/dB7t
保守あげ

379 :nobodyさん:04/09/07 08:23 ID:???
要するに、C言語でCGI作ろうとした場合、perlのcgi-lib.pl
(CGI.pm)にあたるものがライブラリで用意されてないのが
痛い。あと、jcode.pl(Jcode.pm)。
定番のcgi.cとかjcode.cてないんでしょうか。

380 :nobodyさん:04/09/07 08:31 ID:???
>>379
>ライブラリで用意されてないのが痛い。

藻前が探索能力がないのが痛い。

CGIのライブラリも日本語変換のライブラリもググれば出てくる。
それにCでCGIを作る様なヤツは、自分専用CGIライブラリくらい作る。


381 :nobodyさん:04/09/07 09:01 ID:???
Cは豊富にあるほうだと思うけどな。
たいていなんでも揃ってるし。
探せないやつが痛いのは間違いない!

382 :nobodyさん:04/09/07 09:03 ID:???
>>380
即レス多謝です。ありますた。orz
cgihtml Documentation(ttp://www.eekim.com/software/cgihtml/cgihtml.html)
Ken Lunde氏jcode.c(ftp://ftp.ora.com/published/oreilly/nutshell/ujip/src/)
(参考: Cgihtmlのsourcesを読む(ttp://www.adminteachers.com/hdezaki/cgi-lab/page21.html))
できるかどうか分からないけど、検索CGI作ってみまつ。


383 :nobodyさん:04/09/07 09:06 ID:???
>>381
ども、結構、あるんですね。
C/C++言語によるCGIプログラミングの設計入門(ttp://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/)
が参考になりそう。よし、やるど。


384 :上級者:04/09/07 14:32 ID:BeqquvBt
PHP言語を使って。
ブラウザでLINUXPASSWORDを変えたいのですが
どうしたらいいのでしょうか?

LINKX シャドーパスワードなどあって
複雑でわかりません・・・

どうか教えてください
お願いします

385 :nobodyさん:04/09/07 14:46 ID:???
>>384 スレタイ読み直せ


釣られた?

386 :nobodyさん:04/09/07 15:54 ID:???
>>385
彼はプロです。

387 :nobodyさん:04/09/07 16:10 ID:???
>>384
webminでhttps://localhost:10000/にアクセス。
以上。

388 :nobodyさん:04/09/07 16:29 ID:???
>>384

さすがは上級者だ。
しかし本当のプロならもっと獲物のたくさんいる板で釣る。

389 :nobodyさん:04/09/07 16:34 ID:???
CではPerl見たいな文字列操作が面倒すぎだな。
C++になるとまだマシだけど。C++用の便利なライブラリって知らない?
正規表現とかあるんだろ

390 :nobodyさん:04/09/08 00:54 ID:???
>>389
面倒なら自作すればいいじゃなーい。

391 :nobodyさん:04/09/08 04:11 ID:???
>>389
boost知らないの?

392 :nobodyさん:04/09/08 09:12 ID:???
>>389
dyaregexp.hはboostより軽いちゅうわな。
ttp://hp.vector.co.jp/authors/VA028375/junkbox/dyaregexp.html

393 :nobodyさん:04/09/08 10:37 ID:???
入力はUTF-8のみ有効、それ以外は無視。

394 :nobodyさん:04/09/08 12:24 ID:???
は?

395 :nobodyさん:04/09/08 15:14 ID:???
http://www.google.com/search?num=50&hl=ja&lr=lang_ja&ie=shift_jis&q=dyaregexp
この知名度はヤバイ

396 :nobodyさん:04/09/08 15:18 ID:???
http://www.vector.co.jp/authors

397 :nobodyさん:04/09/08 23:56 ID:???
っていうかC++でCGI作るならこれが基本じゃないの?
http://www.cgicc.org/

398 :nobodyさん:04/11/08 18:55:43 ID:???
あゃしぃ人を発見
ttp://labo.cherrybooks.net/

399 :nobodyさん:04/11/09 08:58:35 ID:???
宣伝を発見

400 :nobodyさん:04/11/13 03:53:32 ID:???
宣伝の発見者を発見

401 :nobodyさん:04/11/22 14:44:59 ID:???
宣伝の発見者の発見者を発見

402 :nobodyさん:04/11/22 21:38:13 ID:???
>>401
あのね、それ皆、書こうと思って遠慮してたんだけど・・・
お詫びにネタ振れよ。

403 :401:04/11/22 23:52:40 ID:???
>>402

gomen.
ima, server karadakara, nihonngo nyuuryoku dekinai...

404 :nobodyさん:04/11/23 00:02:35 ID:???
>403
仕事しろ!!

405 :nobodyさん:04/12/14 17:59:04 ID:upKknTNA
>>401
宣伝の発見者の発見者の発見者を発見

406 :402:04/12/14 23:08:12 ID:???
サーバーに日本語入力入れてしまいました。

いいのかな…

407 :nobodyさん:04/12/15 01:51:06 ID:???
いいよ。サーバーにX入れる時代だし

408 :nobodyさん:04/12/16 23:30:11 ID:???
自宅サーバにX入れてます
Xサーバ

409 :nobodyさん:04/12/17 01:56:16 ID:???
それよりDistcc入れて分散コンパイルに……(^^;;;


410 :nobodyさん:04/12/27 15:06:04 ID:2ZZk8VkA
WinXPでコンパったCGIがFreeBSDで動きません

411 :nobodyさん:04/12/27 17:17:19 ID:???
つまらんネタだな

412 :nobodyさん:04/12/29 22:02:06 ID:???
>>410
つ[Perl]

お前さん、Cはやめておけ

413 :nobodyさん:04/12/31 11:29:26 ID:???
>>412
WINアプリがUNIXで動かないのは知ってるんですけど、なんとかならないですかね…
クロスコンパイラは都市伝説、PCはPen200、64MBのノートだからUNIX系OSはボツ…

414 :nobodyさん:04/12/31 16:55:12 ID:???
Pentium200 64MBって、ちょっと前までは「PC-UNIXで再活用」の代表みたいなスペックだけど。
GUIは苦しいかもしれないけどね。

415 :nobodyさん:04/12/31 17:27:43 ID:???
X使わなきゃ全然大丈夫でそ

416 :nobodyさん:05/01/02 13:12:22 ID:???
>クロスコンパイラは都市伝説
藻前はPerlでも使っとけ

417 :nobodyさん:05/01/02 15:32:49 ID:???
ソースありますか?

418 :nobodyさん:05/01/02 22:40:11 ID:???
http://tinyurl.com/23y5e

419 :nobodyさん:05/01/02 23:07:18 ID:???
cssのクラス名がふざけてる

420 :nobodyさん:05/01/05 12:39:03 ID:???
>>413
cygwin

421 :nobodyさん:05/01/20 11:30:37 ID:???
Cを昔から使ってたので最近PERLの掲示板なんかを自作しようと
環境は自鯖仕様でWin2K+Apache2+VisualC++7

GUIならではの開発環境でデバッグが簡単になる方法ってあるんですかね?
自分はVC6使ってたのでVC7の.netによる恩恵がよるわかりません;;
実行ファイルをCGIとして動かしてVCのデバッグトレース機能なんてできます?
用は実行ファイルの出力先にttp://hoge.com/abc.exeというのをGUIでデバックとか・・
UNIXは知らんのですがWinsockを利用して細かいことしようとすると
画面出力で print "ENV= なんてしてるもので作業効率最悪。

どっちかとVCスレの質問かもしれませんがすまそ・・
あと上げてすんま孫




422 :nobodyさん:05/01/20 12:35:15 ID:???
C言語ってカックいー? つおい?

おにぎりの具で言うと何?

423 :nobodyさん:05/01/20 21:03:09 ID:???
>>422
カックイーかどうかはしらないけど
おにぎりの具で言うとうめぼしにマヨネーズって感じじゃない?

424 :nobodyさん:05/01/21 01:48:24 ID:???
CでCGIはBoF対策とか糞めんどくさそうでアフォっぽいけど、
C++でCGIはアリかもね

425 :nobodyさん:05/01/29 14:17:48 ID:???
BoFの意味が分からない俺は

426 :nobodyさん:05/01/30 00:03:16 ID:???
たぶん、デザインパターンの本のこと

じゃなくて、buffer overflowだと思う。

427 :nobodyさん:05/01/30 11:45:02 ID:???
なるほど。
でも、Cでもバッファオーバーフロー対策なんて面倒という程大層なものじゃないが…

428 :nobodyさん:05/01/30 18:51:23 ID:???
俺もそう思う。
逆に、「C++だからバッファオーバーフローの心配はあまりない」
等と言う人の作ったものの方が、よっぽど危険だよ。

429 :nobodyさん:2005/04/03(日) 17:49:44 ID:???
このスレのおかげでふんぎりがついてCで画像掲示板作ってみたよ。
やっぱり慣れた言語が一番楽チンだね。組むのもデバッグも。


430 :nobodyさん:2005/04/03(日) 22:52:40 ID:???
うpきぼん

431 :nobodyさん:2005/10/07(金) 11:12:03 ID:???
鯖の負担だけ考えたらCとPerlどっちが軽いの?

432 :nobodyさん:2005/10/11(火) 02:40:04 ID:???
CでApacheモジュール

433 :nobodyさん:2005/10/17(月) 16:43:58 ID:???
こんなスレあったんだ・・・。
俺はとある企業で5年ほど、CのCGI開発をしていたよ。
某陸√系のサイトはほとんどがCのCGIで動いてるし。
相当無理なことやってるけど、相当無理ができることも事実だったりする。

434 :nobodyさん:2005/10/25(火) 00:31:01 ID:???
何言語で書こうがCGIである限りはCGIで出来る事しかできない

435 :nobodyさん:2005/11/03(木) 12:08:29 ID:???
ファイルIOを発生させる処理でもperlとかわんないのかな
ディレクトリ一覧をサブディレクトリまで
取得して、htmlタグを付与して出力するとか考えとるんですが。
perlだとおそいorz

436 :nobodyさん:2005/11/03(木) 14:26:14 ID:???
そんなもんページ表示させるたびにやらせたら遅いに決まってる。
キャッシュくらいしろ。

437 :nobodyさん:2005/11/03(木) 23:01:33 ID:???
>>435

438 :nobodyさん:2006/02/23(木) 13:35:40 ID:oh1e7jqD
すさまじく書き込みが少ないスレだなー。

かれこれ10年ぐらいCでWebアプリの開発やってる。
いろんなライブラリを開発してたら、ソースが2MBにもなってしまった。
このライブラリだけでCGIに必要な機能はほぼ提供できるところまで来た。
PHPやPerlと変わらないレベルで開発できる。

このライブラリを公開したら面白いことになりそうだけど、
企業秘密満載だから、さすがに無理か。

439 :nobodyさん:2006/02/23(木) 15:33:14 ID:???
>>438
ここはおまいさんの日記帳じゃないよ。

440 :nobodyさん:2006/02/25(土) 13:19:21 ID:???
>>438
くれ

441 :nobodyさん:2006/05/06(土) 20:21:57 ID:FWiKF0Gu
いいねぇ。
>>企業秘密満載だから、さすがに無理か。
CPANとかある方がCからみたら異質なんだろうな。
一からライブラリ作るのは面倒だからAPRでもつかってみるかな。

442 :nobodyさん:2006/06/04(日) 14:34:28 ID:???
みんなヲレcgiライブラリの再生産遣ってそうだよな。
そろそろ基本的な所だけでも共有しないか?

443 :nobodyさん:2006/06/04(日) 16:22:13 ID:???
それなら、まずは442のライブラリから共有するとしようか。

444 :nobodyさん:2006/06/07(水) 05:48:07 ID:???
基本的っつーとどのヘン?
昔のヤツをひっくり返して見つかったらアップしてみる。


445 :nobodyさん:2006/06/07(水) 14:16:56 ID:???
普及が目的なら
基本的なライブラリの共有と並行して、
どうすればC言語でcgiが書けるのかという基本の解説がいるね。
hello worldのC言語cgi版みたいなの。

446 :nobodyさん:2006/06/08(木) 20:50:36 ID:???
printbody("Hello World!");
だけで、
<HTML>
<BODY>
Hello World!
</BODY>
</HTML>
ぐらいは、生成してくれるとかさ。

447 :nobodyさん:2006/06/09(金) 10:14:52 ID:???
>>446
それ必要か・・・?
templateエンジンのが良くね?


448 :nobodyさん:2006/06/09(金) 16:12:46 ID:mYrnmPP6
テンプレートはありませんかねぇ?

449 :nobodyさん:2006/06/10(土) 08:37:10 ID:???
テンプレートエンジンってどこにあるの?
stdio.hには無かった。

450 :nobodyさん:2006/06/11(日) 02:28:25 ID:???
CでMySQLやらPostgreSQLに接続するにはどうしたらいいんだろ?
TCP/IPの通信部分から書かなきゃダメかなぁ?

451 :nobodyさん:2006/06/11(日) 08:48:30 ID:???
>>450
そこだけphpに渡してる(笑

452 :nobodyさん:2006/06/11(日) 09:10:11 ID:???
Cならmysqlにライブラリ付属してますが?
ドキュメントぐらい読んだら?

453 :nobodyさん:2006/06/11(日) 10:43:01 ID:???
DBの方のマニュアルにあったのか!
thx!!

454 :nobodyさん:2006/06/18(日) 20:19:39 ID:???
ふぇどら3でコンパイルしたCGIが

You don't have permission to access /index.cgi on this server.

っていわれてうごかないんだ。
httpd.confに
Options ExecCGI
AddType application/x-httpd-cgi .cgi
って記述してるし、パーミッションも755になってるのにどうして?

455 :nobodyさん:2006/06/19(月) 00:00:15 ID:???
>>454
SELinuxとかどうなってる?
使ってないの前提として、パーミッションてどこのパーミッションだ?
ディレクトリの方はどうなってる?
所有権は?
迷ったら777試せ

456 :454:2006/06/20(火) 11:17:11 ID:???
SELinuxも無効にしたんだけどダメだ・・・
Windowsのxampp上では動くのに・・・
777もやってみたけどダメだった

所有権は777だから別に違っても大丈夫なはず

ディレクトリは見てなかったけど同ディレクトリ以下の
phpは走るし大丈夫なはずじゃ・・・あ


帰ったら試したいことが出来ました。
まだ解決してないけど>>455さんまりがとう('∀`)


457 :nobodyさん:2006/08/06(日) 17:59:11 ID:???
cgiつーかC言語のウェブアプリケーションって無いよね。
ぐぐったらウェブオブジェクト4.5とか出て来たけど、これはマカ専用?

458 :nobodyさん:2006/10/20(金) 15:32:14 ID:???
>>457
使ってる企業は多いだろうけど、
目的の一つとしてソースをクライアントに見られずに済む
というのがあるだろうから、どこも非公開なんだと思う。

459 :nobodyさん:2006/11/11(土) 15:32:43 ID:???
>>457
WebObjects4.5はWinNT系でも動くけど、ObjCはクセがあるから習得には個人差があるかも。

91 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)