C言語なら俺に聞け! Part 114
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/09/17(土) 00:26:58質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
C言語なら俺に聞け! Part 113
http://pc8.2ch.net/test/read.cgi/tech/1125136478/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0153デフォルトの名無しさん
2005/09/18(日) 13:56:320154デフォルトの名無しさん
2005/09/18(日) 14:00:220155デフォルトの名無しさん
2005/09/18(日) 14:12:24よく本には「0が偽で、0以外が真」と説明されてるけど、
int型とか、unsined型とか、ポインタ型とか、float型とか、
特に変換とかかからず、個別の型ごとに判別されてるのですか?
C++みたいに、bool型に変換されてから判別されるみたいな
感じとは違うの?
0156デフォルトの名無しさん
2005/09/18(日) 14:12:47自分だけだとしても、途中でエラーになったら
トランザクションを復帰できない >142 は
危険ですな。
まあ >>141 も、折角だから
7. 元ファイルを一時的な別の名前に変更
8. 新ファイルを元ファイルの名前に変更
9. 元ファイルを削除。
までやって欲しいところ。
(システムによっては unlink/link が適切か)
0157デフォルトの名無しさん
2005/09/18(日) 14:13:14そうか。
ポインタだけ先頭に戻して、最後は消せばいいんだな。
消し方知らないけど。
0158デフォルトの名無しさん
2005/09/18(日) 14:17:10そのやり方はファイルをロックしておかないと。
>>155
実際なんでもいい。
ただfloatはだめだろ。
0159デフォルトの名無しさん
2005/09/18(日) 14:21:30戻り値はポインタじゃないと、リストの先頭部分が解放できなくなる。
あと、リストを作るなら、リストサイズも返して欲しいところ。
戻り値が0なら失敗、それ以外なら成功という感じで成否判定にも使えるし。
(ポインタがNULLかどうかを見てもいいんだけどね)
0160デフォルトの名無しさん
2005/09/18(日) 14:32:15もしかして最初の一件を値で返し、2件目以降はそのつどメモリ割り当てなわけですか?
それだと最初の一件目は開放しなくていいわけですが、
そんな非効率なことするんですか?
そういうやり方するならC++でも使ったらどうかと思うんですがね。
メモリサイズが大きくなると、オーバーヘッドの大きい
Windowsのメモリアロケートを使うことになるからめちゃめちゃ遅いよ
ヒープだけで済む小さいのならC標準ので1件ずつアロケートしても使えるが、
そもそも開放がめちゃめちゃ大変だ。
データが壊されたらそっから先は開放できなくなるし。
0161どりーむ
2005/09/18(日) 15:08:39うまい事いきません。
もし足りない所があれば助言よろしくおねがいします。
コード
struct MovieItem{
long callNo;
char title[50];
bool status;
int frequency;
MovieItem *next;
};
0162どりーむ
2005/09/18(日) 15:09:58貼り付ける場所間違えました^−^;
当方はC++ですので。
ではw
0163デフォルトの名無しさん
2005/09/18(日) 16:06:04>>141さん以下いろいろ教えてくださった皆様。
ありがとうございます。
実は、その場で、一行だけ削除する関数かなんかあればいい名と考えていましたが、
ないようで、
メモリを沢山食いそうで落ちてしまいそうな感じもあり、
テキストファイルの分割も考えに入れ、
教えていただいた方法で、やっていこうと思います。
ありがとうございました。
0164デフォルトの名無しさん
2005/09/18(日) 16:32:49いつまでも、こだわるようで申し訳ありませんが、
例えば下記プログラムなんかreallocだけでスッキリ
と分かりやすい、と思われませんか?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *jo;
jo = realloc(NULL,30 );
strcpy( jo, "Nissyは馬鹿じゃない、" );
jo = realloc( jo, 60 );
strcat( jo, "しかし、頭が固い!\n" );
printf( jo );
realloc( jo,0 );
return 0;
}
0165デフォルトの名無しさん
2005/09/18(日) 16:33:54思わない。最初のNULLをタイプするだけ無駄。
0166デフォルトの名無しさん
2005/09/18(日) 16:39:14jo=NULL;
とやってからループ内で1回だけ
jo = realloc( jo, size * i );
と書くんなら意味があるけどね。
size が0の時は開放のみなんだろうか?
0167デフォルトの名無しさん
2005/09/18(日) 16:48:26>size が0の時は開放のみなんだろうか?
C言語辞典にはそう書いてありました。
別の本にもmallocやfreeの代わりに使える。
が、
それは好ましくない…とは。
0168デフォルトの名無しさん
2005/09/18(日) 16:52:28解放にはその名の通りfreeがあるんだから
それ使った方がすっきりするしわかりやすい
0169デフォルトの名無しさん
2005/09/18(日) 16:53:510170デフォルトの名無しさん
2005/09/18(日) 16:54:07どう、こっちの方がもっとスッキリしない?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
char *po;
po = malloc( 30 );
strcpy( po, "確かに常識的ではない、" );
po = realloc( po, 60 );
strcat( po, "さらに、その上、馬鹿だ!\n" );
printf( po );
free( po );
return 0;
}
0171デフォルトの名無しさん
2005/09/18(日) 17:13:25void expand(struct vec *v, int n)
{
if (v->capacity < n)
v->data = realloc(v->data, v->capacity = n);
}
みたいのがあって、expand()はv->dataが0の場合にも呼ばれ得る、
みたいなケースなら、わざわざif()で分けるよりは
realloc()一本のほうがすっきりする、かも知れない。
0172デフォルトの名無しさん
2005/09/18(日) 17:20:01お前ならそう言い出すと思ったから、
おまえは俺ら常人とは違い、天才だと教えてやったろう。
天才は天才の集まる所でやっててくれ。何時までもウザイから。
0173デフォルトの名無しさん
2005/09/18(日) 17:26:39センスゼロ。
いいたい・やりたいことをいかにクリアに表現するか、そのためだけに
現在に至る言語の進歩があったと言っても過言じゃない。
「可能」「不可能」だけで言ったら、高水準言語なんてものはこの世に
いらなくなるんだよ。
「メモリを解放したい」んなら単にfree()と言え。それがそのものズバリ
であって、一番クリアだから。
realloc()は一般には「メモリを再確保する」するための関数だから、
そうしたいときに使え。realloc()をfree()やmalloc()の代わりに
使っているコードを見た人は、プログラマの真意をまず疑う必要が
出てくる。バグなのか、アホなのか、etc...
余計な手間がここで生じる。
0174デフォルトの名無しさん
2005/09/18(日) 17:26:42>>164の場合は同じ関数使ってるから、
文字の関係で綺麗にかかれているように見える”のかもしれない”けど、
>>170のソースの方が自然に理解できると思う。
>>164のソースは正直コメント無しでぱっと見たら、一瞬???と思うよ。
0175デフォルトの名無しさん
2005/09/18(日) 17:38:560176デフォルトの名無しさん
2005/09/18(日) 17:41:17ふつう、そういうのをしたかったら
そういう機能を持ったラッパー関数を作るんですよ
ライブラリの仕様変更にも追従できるし
0177デフォルトの名無しさん
2005/09/18(日) 17:43:34ソースを見渡したときに引数がないことが明示されていてわかりやすい。
0178デフォルトの名無しさん
2005/09/18(日) 17:53:16ANSI/ISO以前のいわゆるK&R Cにはプロトタイプが存在せず、
関数は
char *foo();
のように仮引数無しで宣言された。
ANSI規格においても、後方互換性の点からこのスタイルでの
宣言が認められ、その場合は(C++のように)「引数無し」
ではなく、古いC同様に「引数は任意であり型チェックはしない」
という意味とされた。そのため、「引数無し」を明示するために
別途voidが導入された訳だ。
0179デフォルトの名無しさん
2005/09/18(日) 17:53:20引数がこれの時はこうなって云々...
0180デフォルトの名無しさん
2005/09/18(日) 17:56:32なんでもsedやawkでやる人。
で、
head -10よりsed 10qの方が美しくわかりやすいと信じて疑わない。
0181デフォルトの名無しさん
2005/09/18(日) 18:09:52全ての会話が"ダァ"で成り立つと理解している
0182デフォルトの名無しさん
2005/09/18(日) 18:14:230183デフォルトの名無しさん
2005/09/18(日) 18:15:44「イエスサー」以外の言葉を話せないw
0184猛勉強中(59)
2005/09/18(日) 18:25:48なるほどです!
わざわざ返事くれてありがとうございます。
今日は、「ポインタ完全制覇」っていう本がいい感じだったんで、
読んでますー。
・配列の中身を参照する時に、a[i]とかするけど、この[]は配列とは全く無関係だ。
・Cには多次元配列は存在しない。
この二つはなかなか知られてないみたいですね。
0185デフォルトの名無しさん
2005/09/18(日) 18:31:41なんか、誤解を招く表現だな。
気をつけろよ。へんな理解の仕方すると、混乱するぞ。
0186デフォルトの名無しさん
2005/09/18(日) 18:32:19意味ワカンネ
a[i]が*(a+i)のシンタックスシュガーである つうこと?
>・Cには多次元配列は存在しない。
Cを書く人間なら全員知っているのでは?
・・・ああ。配列の配列を使ったことのない人もいるか
0187猛勉強中(59)
2005/09/18(日) 18:33:54これに対する説明が書いてないんですが、これってどういう事なんですかね?
多次元配列は存在しないなら、
word[256][256]
とかは何なんでしょう・・・
0188デフォルトの名無しさん
2005/09/18(日) 18:37:58多次元配列、これは二次元配列。
0189デフォルトの名無しさん
2005/09/18(日) 18:41:040190デフォルトの名無しさん
2005/09/18(日) 18:41:27説明もなくそんなわけわからん主張してるのか、その本?
結構有名だから、マトモな本かとおもっていたが、大丈夫かそれ?
ちなみに、俺は読んだことない。
>・配列の中身を参照する時に、a[i]とかするけど、この[]は配列とは全く無関係だ
無関係ってことはない。メモリ上の連続したエリアを配列として使用するときに[]を使う。
ちなみにこれは演算子です。
プログラミング言語には、同じものを表現するのに複数の異なる方法がある場合があり、
これをシンタックスシュガー(構文糖)という。
特に、Cでは、本来異なる概念である「ポインタ」と「配列」が、表現上同じように見えたり、
暗黙に変換されたりするシンタックスシュガーがある。
わかりやすいところでは、関数の引数で、
void foo(int a[])
こういう宣言方法があるが、これは配列を表していない。見た目は配列に似ているがこれは
void foo(int *a)
の別の記述法なだけ。
だからといって、a[] と *a が常に同じわけではないことに注意。
関数の引数の表現時にのみ発生するシンタックスシュガーがあり、いわばこれは特例だとい
うことをゆめゆめわするるべからず。
0191デフォルトの名無しさん
2005/09/18(日) 18:43:40読んで初めて知ったな。それ以外で驚いたことはなかった。
0192デフォルトの名無しさん
2005/09/18(日) 18:45:52読んで初めて知ったな。それ以外で驚いたことはなかった。
0193デフォルトの名無しさん
2005/09/18(日) 18:48:08それ、ちゃんと理由も書かれていたか?
かかれていなけりゃ、そりゃ糞本かもだな。
0194猛勉強中(59)
2005/09/18(日) 18:48:18二次元配列以上のものを多次元配列っていうんじゃないんですか?
本によっては、「Cでは多次元配列を定義できる」ってなってるし
いまいち理解に困ります。
配列の配列ってのはわかりますが、それは多次元配列(2次元配列)
とはいわないんですかね?
>>190
すっごいわかりやすいです。
テキストファイルに保存しときますw
いやー、まじでこのスレ良すぎる。
すごい人達全員にカテキョしてもらってるみたいだ。
0195デフォルトの名無しさん
2005/09/18(日) 18:48:58どうなんでしょう?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
//必ずポインタをNULLで初期化する安全第一のプログラマにとっては
char *jo=NULL;
jo = realloc(jo,30 );//と統一した書き方が出来る。
strcpy( jo, "Nissyは馬鹿じゃない、" );
//さらに、誤ってもう一度
jo = realloc(jo,30 );
//と、やっても悪影響はない。
//jo = malloc( 30 );と2回やると中味が消えてしまうけど。
jo = realloc( jo, 60 );
strcat( jo, "しかし、頭が固い!\n" );
printf( jo );
realloc( jo,0 );
//但し、これをもう一度やったらOUT!だけどね。freeも同じだけど。
return 0;
}
0196デフォルトの名無しさん
2005/09/18(日) 18:50:230197デフォルトの名無しさん
2005/09/18(日) 18:53:29うん君が正しいよ。目から鱗だ有難う。
0198デフォルトの名無しさん
2005/09/18(日) 18:54:02>>197は>>195宛な
0199デフォルトの名無しさん
2005/09/18(日) 18:58:57>・Cには多次元配列は存在しない。
ある意味では正しいが、ある意味では正しくない。
プログラミング言語(の実装)が多次元配列をどうあつかっているかは、いろいろあるが、
多次元配列の実装は2つに分類される。
(1)まとまったメモリエリアを一次元配列として確保し、それは次元の数だけ分割して多次元配列として使う。
Cはこの方法をとっていて、
int a[10][10];
int data = a[y][x];
は内部的には、
int a[100];
int data = a[ y * 10 + x]:
と実装されているかもしれないということ。
見方によってはこれはあくまでも一次元配列であり、「多次元配列は存在しない」といえるかもしれない。
(2)配列への配列をつかった表現。
int a[10], b[10];
int *p[2];
p[0] = &a[0]; p[1] = &b[0];
こうすることで、data = p[y][x] というアクセス方法が取れる。
この場合、a, と bは必ずしも、連続したメモリ上にある必要はなく、またサイズも同じである必要がない。
可変長配列をサポートする言語では、たいていこれに似た方法がとられている。
どっちも、結果的に多次元配列を扱うことはできている。
あとは何を基準に判断するかの問題。
0200デフォルトの名無しさん
2005/09/18(日) 18:59:12dat[a][b]ってのが配列の配列
dat[a]ってだけで意味があるところ(使う事ができる)なのがミソ
0201199
2005/09/18(日) 19:00:22○ それを次元の数だけ等分割して多次元配列として使う。
0202デフォルトの名無しさん
2005/09/18(日) 19:10:11コテハン名乗ってくれ。あぼーんするから。
0203猛勉強中(59)
2005/09/18(日) 19:11:10また保存行きですw
なるほどー、Cでは(1)の方を使うから、解釈の仕方で両方の意味に考えられると。
で、(2)の方なんですが、これは確実の多次元配列として扱えてますよね?
これがCで使えるなら、多次元配列としていいような気がします。
>>200
呼び方の問題なんですかねー、多次元配列として扱う>>199の(2)のようにできるなら
多次元配列は存在するといってもいい気がしますが、dat[a,b]っていう書き方ができ
ない以上、多次元配列は存在しないと言わざるを得ないって事なのかな。
0204デフォルトの名無しさん
2005/09/18(日) 19:11:23> realloc( jo,0 );
> //但し、これをもう一度やったらOUT!だけどね。freeも同じだけど。
freeの代わりに使うとしても、
jo = realloc( jo,0 );
と、常に戻り値を入れておけば事故もないんじゃないかな。
free したいのかどうかはコードなめないと分からないと思うけど。
0205デフォルトの名無しさん
2005/09/18(日) 19:11:25FORTRAN77 は dat(a, b) とか書けるけど、
dat(1, b) というのを関数に渡して、
その関数内部では列行列であるかのように扱うことができるぞ。
0206猛勉強中(59)
2005/09/18(日) 19:31:48けど、ノーパソと「Cの掟」と「ポインター完全制覇」もって、勉強はするんで、
質問したい事とかめっちゃたまるっぽいですが、そん時はよろしくお願いします。
0207猛勉強中(59)
2005/09/18(日) 19:35:390208デフォルトの名無しさん
2005/09/18(日) 19:36:49ウザいからもうこないでくれ
0209猛勉強中(59)
2005/09/18(日) 19:40:22おふぉな質問して申し訳ない。
0210デフォルトの名無しさん
2005/09/18(日) 19:50:09初歩的なことからわからないんです。
できれば、ファイル入出力だけでなく、C全般についてのいい本もお願いします
0211デフォルトの名無しさん
2005/09/18(日) 19:52:30>必ずポインタをNULLで初期化する安全第一のプログラマにとっては
安全第一というより、安直第一というべきだろう。
そういう、「0フィルしておけば安全」という間違った考えがバグを生みデバッグを困難にすることに繋がることも理解すべきだ。
0212デフォルトの名無しさん
2005/09/18(日) 19:55:45これは、展開図に直して連結リストで作ってみると考えたのですがどうでしょうか?
0213デフォルトの名無しさん
2005/09/18(日) 19:57:00> C言語で立方体のさいころをつくりたい
立方体さいころ組立工作機械の制御でもやるのかね?
0214デフォルトの名無しさん
2005/09/18(日) 19:58:08それはCの質問なのか?
アルゴリズムの質問のように読めるのだが。
#そうだとしても、言葉足らずではあるが。
0215デフォルトの名無しさん
2005/09/18(日) 20:00:42稜線のリストか何かを作りたいのか?
0216デフォルトの名無しさん
2005/09/18(日) 20:03:030217デフォルトの名無しさん
2005/09/18(日) 20:06:32以前就職活動で受けてた会社の入社テストに、さいころの展開図の問題があったんです。
内容はさいころをこの角度から見て(3面だけ見えてました)
展開図に直すと次のいずれになりますか?というものだったんですけども、、、。
それをC言語でつくってみようと思ったんです。
0218デフォルトの名無しさん
2005/09/18(日) 20:09:110219212
2005/09/18(日) 20:12:32今からアルゴリズムの本の「連結リスト」の部分をわからないなりに読んでみようと思います。
また、行き詰まったらすいませんが知恵を貸して下さい。
0220デフォルトの名無しさん
2005/09/18(日) 20:12:340221デフォルトの名無しさん
2005/09/18(日) 20:25:06int x[A][B]; の時に x[a][B-1] と x[a+1][0] のメモリが
連続してることが規格上保証されている、
ということを言いたいわけなのだろうか?
離してもいいものも作ろうと思えば作れるが、
言語的にパッと書けるものでもない、と。
もしくは、内部的には x[a][b] は (*x)[a * B + b] のように
一次元的なインデックスに直され、B という値が再利用されるので、
配列へのポインタで int(*)[B] のように
サイズが必要になってしまうというようなことを言いたいのか。
x を int** へ代入できないよ、全くの別物だよ、
というようなことが言いたいのか。
0222デフォルトの名無しさん
2005/09/18(日) 20:40:32サポートレベルが低いってことじゃまいか。
実際ただの(一次元)配列に比べて不便で扱いづらいでしょ、
例えばサイズの不定な多次元配列を扱ったりする場合に。
0223デフォルトの名無しさん
2005/09/18(日) 20:43:220224デフォルトの名無しさん
2005/09/18(日) 20:44:47行列にしたって、行や列が可変サイズじゃ意味がないし。
0225デフォルトの名無しさん
2005/09/18(日) 20:47:40サイズを問わない汎用的な関数を書きたい
というケースなら珍しくないでしょ?
0226デフォルトの名無しさん
2005/09/18(日) 20:53:020227デフォルトの名無しさん
2005/09/18(日) 20:55:41どこまでで限界が来るか、一度試してみたいな。
0228デフォルトの名無しさん
2005/09/18(日) 22:15:43分かってて言ってるんだろうが
ただの1次元配列の場合は
void vector_fn(int array[], int size)
のようにすればよい。
2次元配列の場合は
void matrix_fn(int array[], int m, int n)
のようにして、キャストを使い1次元配列の「ふり」をして渡すしかない。
で、関数内では1次元配列上で明示的にオフセット計算をする羽目になる。
マクロを使えば多少は楽になるとは言え、これは醜いし、不便だろう。
少なくとも、Cが多次元配列に対して良きサポートを提供しているとは
お世辞にもいえない。
0229デフォルトの名無しさん
2005/09/18(日) 22:24:28一次元配列でも、サイズ情報は別に渡さなきゃならないわけだし。
0230デフォルトの名無しさん
2005/09/18(日) 22:47:04ポインタテーブル作れってことだけど、面倒っちいわな。
void foo(int array[][B]) のようなこともできはするけど、サイズ固定だしな。
0231デフォルトの名無しさん
2005/09/19(月) 01:24:25char buf[128];
と
char *buffer = malloc(128);
ってどっちがいいんですか?
0232デフォルトの名無しさん
2005/09/19(月) 01:28:290233デフォルトの名無しさん
2005/09/19(月) 01:30:05ケースバイケースです。以上。
0234デフォルトの名無しさん
2005/09/19(月) 01:30:47普通は
・確保したバッファを呼び出し元の関数に返したい場合
・途中でバッファのサイズを拡張する可能性がある場合
・サイズが128ではなくてデカ過ぎる場合
はmallocを使う。それ以外なら上で良いでしょう。
0235デフォルトの名無しさん
2005/09/19(月) 01:48:56デバッグ用にprintfっぽく使えるメッセージボックスを作ろうと思ったんですが・・・
しょっちゅう呼び出す関数は確保→開放ってやると遅くなるかと思って・・・
>>234
ありがとうございます。
0236デフォルトの名無しさん
2005/09/19(月) 02:05:02デバッグでパフォーマンスは気にしない。
0237デフォルトの名無しさん
2005/09/19(月) 02:29:41メッセージボックスの表示のオーバーヘッドで
全く気にならないはずだ。
0238デフォルトの名無しさん
2005/09/19(月) 02:31:56メモリを保持してないポインタはNULLにしておくべきだろ
アロケート目的に使わないならfreeしないから関係ないけど。
>、「0フィルしておけば安全」という間違った考えがバグを生みデバッグを困難にする
それはどんな状況ですか?
そういう経験はしたことないんですけど。
0239デフォルトの名無しさん
2005/09/19(月) 02:59:03○NULL フィルしておけば、NULL フィルしないよりは安全
NULL フィルしたからといってバグがなくなるわけではないが、バグ検出に役に立つ。
NULL へのアクセスは大抵の環境で実行時エラーが出る。
NULL フィルしなかった場合は、偶然どこかの正常なアドレスを指してる可能性がある。
例えば、昔ポインタとして使われたスタック領域と同じところに
そのポインタが割り当てられたときなどは、可能性としては十分あり得る。
代入が直後にある場合などは必要ないと思うかもしれないし、
実際入れなくても現時点では何も問題はないが、
後の拡張やコードの移動により問題が発生する可能性はある。
NULL フィルのオーバーヘッドが気になるような状況でもない限り、
NULL フィルしといた方が安全ってのは正しい。
0240デフォルトの名無しさん
2005/09/19(月) 03:07:090241デフォルトの名無しさん
2005/09/19(月) 03:12:140242デフォルトの名無しさん
2005/09/19(月) 04:01:36詳しく
0243デフォルトの名無しさん
2005/09/19(月) 04:23:47それは紛らわしい書き方なんだが、
かといって正確に書こうとするとややこしい。
>>242
http://www.kouno.jp/home/c_faq/c5.html#0
0244デフォルトの名無しさん
2005/09/19(月) 04:54:06それはコンパイラに依存すると言うことですよね?
いちいちコンパイラの仕様を確認しなければならず、
違っていればやり方を変えなければならないと言うことですよね?
デバッグビルドとリリースビルドで動作が違ってくるって事ですよね?
デバッグビルドで取り除けるバグを、リリースビルドで見つけなければならないと言うことで、
デバッグが大変になりますよね?
0245デフォルトの名無しさん
2005/09/19(月) 04:57:230246デフォルトの名無しさん
2005/09/19(月) 05:07:280247デフォルトの名無しさん
2005/09/19(月) 05:09:44自分の主張と、間違ってると思われる発言を書けよ
自分のアホは指摘されたくないってか?
0248デフォルトの名無しさん
2005/09/19(月) 05:20:59もしかしてコンパイラに固定値突っ込ませてデバッグ後、
固定値突っ込むのをOFFにするオプションつけたデバッグビルドでもデバッグするのかな?
少しでもコードを取り除きたいならそれもいいかもね。
めんどくさ。
0249デフォルトの名無しさん
2005/09/19(月) 05:22:12ねーよwwwwwwwwwwww
0250デフォルトの名無しさん
2005/09/19(月) 05:25:000251デフォルトの名無しさん
2005/09/19(月) 05:33:59間違って上書きしちゃったどうしようdocだけ最インストできそうだけど
manはどうしようってなってる俺をどうにかしてみろよおめーら
0252251
2005/09/19(月) 05:36:21激しく誤爆しちまったじゃねえか
ついでにすれ違い覚悟で聞いてみるけど
どうしたら一番効率よくもどにもどせれる?
■ このスレッドは過去ログ倉庫に格納されています