C言語のCGIを語りつつ普及するスレ at PHP
[2ch|▼Menu]
[前50を表示]
150:何でやねん
03/04/12 01:11
サーバ側でコンパイルするメリットって何かあるの?

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

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

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


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

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

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


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


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

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

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

>>146
overflow ...

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

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

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

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

を考慮して・・・。

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

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

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


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

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

いや、アセンブラ。。。

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

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

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

167:Perl、PHP、C、HTMLファイルにして読む
03/04/13 17:46 bgaBPkZL
2ちゃんねる型でPHPとPERLの速度比較
URLリンク(sugachan.dip.jp)
URLリンク(sugachan.dip.jp)

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

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

168:nobodyさん
03/04/13 17:54 Ok9Y0fz8
凄いサイト発見です!! URLリンク(f2.aaacafe.ne.jp)

169:nobodyさん
03/04/13 17:59 0bbeziRr
URLリンク(yahooo.s2.x-beat.com)

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

ことだぜい!

結構速いYO!

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

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



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


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

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

WTLとか。

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

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

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

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

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


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

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

ヒントを所望したい。

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

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

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

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

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

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

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

202:fusianasan
03/04/17 18:05
いま次のような手順でやってるんですけどひらがなとかはわりとデコードできるんですけど・・・どこに問題がありますかね?あと今は&で区切る処理が無視してください。
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
追加事項
{+は空白にする。
{%でも+でもなければそのままchar型配列にぶち込む

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

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

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

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

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

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

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

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


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

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

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

213:nobodyさん
03/04/17 19:28
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
昔書いた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
デコードに文字コードなんか関係あるのか?

216:bloom
03/04/17 19:56 ahUYqmP+
URLリンク(www2.leverage.jp)

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

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

218:bloom
03/04/17 20:02 VKhj20RH
URLリンク(www2.leverage.jp)

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

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

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

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

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

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


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

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

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


226:nobodyさん
03/04/18 21:06
逆だが、↓これと同じこと。
URLリンク(www.pro.or.jp)

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

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

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

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



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

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

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

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

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

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

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

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

# お好きにどうぞ。

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


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

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

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

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

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

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

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

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

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

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

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

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

What does it mean?

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

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

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

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

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

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

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

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

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

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

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

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

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





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


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

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

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


262:動画直リン
03/05/06 01:10 qyy2Fj99
URLリンク(homepage.mac.com)

263:nobodyさん
03/05/06 01:18
#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
今改めて見ると、何て無駄の多いコードなんだ・・・

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

266:_
03/05/06 01:35
 ( ・∀・)/< こんなのみつけたっち♪ 
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)

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

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

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

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


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


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

270:bloom
03/05/06 03:10 qyy2Fj99
URLリンク(homepage.mac.com)

271:_
03/05/06 03:25
 ( ・∀・)/< こんなのみつけたっち♪ 
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)

272:_
03/05/06 04:07
   川o・-・)ノ <先生!こんなのがありました!
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)
URLリンク(japan.pinkserver.com)
URLリンク(www.japan.pinkserver.com)

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

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



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

276:nobodyさん
03/05/20 01:53
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
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

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

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

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

URLリンク(fh.aaacafe.ne.jp)

GET! Free Server Space!

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

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

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

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

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

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

286:_
03/08/10 00:40
URLリンク(homepage.mac.com)

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

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

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

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

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

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

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

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

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

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

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

297:______
03/08/17 15:32
  ∋8ノノハ.∩  URLリンク(www.yakuyoke.or.jp)
   川o・-・)ノ <先生!こんなのがありました!
URLリンク(www.hokekyoji.com)
URLリンク(members.tripod.co.jp)
URLリンク(www.honmonji.or.jp)
URLリンク(www.maap.com)
URLリンク(www.kuonji.jp)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)
URLリンク(www.butsuzou.com)


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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


って 伸びないスレだなw

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

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

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

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

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

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

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

ちょっとこわひ…

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

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

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

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

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

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

330:nobodyさん
04/03/06 19:57
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
EXEならではの利点があるはず。
socket使って2ちゃんねるのトップを取得してタグコピーして表示するとか。
この場合とくに意味は無いけど、面白い使い方をしている例希望。

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

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

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

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

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

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

337:nobodyさん
04/03/19 23:07 wAGafw57
>>303
URLリンク(c.toshinari.net)
これだね。

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

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

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

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

341:nobodyさん
04/04/11 14:57
>>339
URLリンク(www-cms.phys.s.u-tokyo.ac.jp)

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


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

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

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

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

C/C++ CGIスレッド
スレリンク(php板)l50

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


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

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

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

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

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

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


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

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

URLリンク(sometime.minidns.net)
より引用

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

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

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

354:nobodyさん
04/05/30 13:23
洩れも調べ中
c++ならcgiccってのが上のほうに紹介あった気がする。
URLリンク(mm.apache.or.jp)



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

356:nobodyさん
04/05/30 21:39
URLリンク(tazthecat.net)
cgixx - BSD Licenseだそうだ。これから試してみるべ。

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


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

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


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

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



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


クロスコンパイラのバイナリ配信を可能にしました。
URLリンク(www.wikiroom.com)
c,c++,dをfreebsd用にコンパイルできます。
linux用も作ろうと思いますが先人の知恵があるのでこれ理解してからにしようと思っていますが。

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

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

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


363:357
04/06/01 09:01
わぁ、すでにあったぁ。
URLリンク(ciki.nostdal.net)
C++でできてるみたいですね。


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


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


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


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

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

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

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

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

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

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



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


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5383日前に更新/116 KB
担当:undef