fjの時代から10年以上に渡るmalloc/free問題について語ってください(^q^)
前スレ
main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/
mallocの後にfree不要と言うバカいるの?Part2
■ このスレッドは過去ログ倉庫に格納されています
2013/01/30(水) 21:38:37.44
2013/01/30(水) 21:42:04.63
ここまでのまとめ
・freeいる派完全勝利
・freeいらない派のくさおが発狂、レスを流すのに必死
・freeいらない派のくさおがバグ付スタックオーバフローソースを作成、
身をもってfreeは危険だと主張
・freeいらない派のくさおが自演を開始、自画自賛を始める
・freeいらない派のくさおが自演を指摘され遁走 ←いまここ
・freeいる派完全勝利
・freeいらない派のくさおが発狂、レスを流すのに必死
・freeいらない派のくさおがバグ付スタックオーバフローソースを作成、
身をもってfreeは危険だと主張
・freeいらない派のくさおが自演を開始、自画自賛を始める
・freeいらない派のくさおが自演を指摘され遁走 ←いまここ
2013/01/30(水) 21:42:28.73
前スレ1
1 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/13(火) 22:12:13.29
前提1:一般的なC言語(GC搭載していない)
前提2:main関数は除く
前提3:関数実行後すぐに終了するとは限らない
前提4:関数は何度も使われることがある
これがメモリリークするのは当たり前の話で、
mallocをしたらfreeするのは当たり前。
free不要論とは一体何だったのか。
天邪鬼(バカ)が言葉尻を捉えていただけではないだろうか。
まつもと ゆきひろもそのバカの一人だったらしいね。
例外中の例外を除いて、mallocをしたらfreeは必要。
これが真の答えだろう。
1 名前:デフォルトの名無しさん[sage] 投稿日:2012/11/13(火) 22:12:13.29
前提1:一般的なC言語(GC搭載していない)
前提2:main関数は除く
前提3:関数実行後すぐに終了するとは限らない
前提4:関数は何度も使われることがある
これがメモリリークするのは当たり前の話で、
mallocをしたらfreeするのは当たり前。
free不要論とは一体何だったのか。
天邪鬼(バカ)が言葉尻を捉えていただけではないだろうか。
まつもと ゆきひろもそのバカの一人だったらしいね。
例外中の例外を除いて、mallocをしたらfreeは必要。
これが真の答えだろう。
2013/01/30(水) 21:44:23.19
freeいる派の主な主張
・mtraceが通らないとか論外
・対にするようにしておかないと悪癖が身に付く
・そもそも最後にまとめて解放すること自体が論外
freeいらない派の主な主張
・freeでバグる可能性があるから解放したくない
・プロセスの終了処理に黙って解放されるほうが終了処理がはやい
・mtraceが通らないとか論外
・対にするようにしておかないと悪癖が身に付く
・そもそも最後にまとめて解放すること自体が論外
freeいらない派の主な主張
・freeでバグる可能性があるから解放したくない
・プロセスの終了処理に黙って解放されるほうが終了処理がはやい
2013/01/30(水) 22:06:09.81
なんかスレ立てたら賢者モードになっちゃったよ。
前スレで議論してたのがうそみたい。
ところで、Perl、Python、RubyなんかのP言語が猛威をふるい
Javaなんかもガベコレ積んでるし、
Windowsアプリの主要開発言語もC#になろうかとしている今、
今後、手動でメモリ確保、メモリ解放しなきゃならない環境ってのは
どういうのが残るかなぁ
AppleのObjective-C、組み込み開発、ドライバ、OS等のハードに直結した部分
数値計算とかそういう純粋に速度が要求される分野
思いついたのはこのくらいなんだけど
他にないかなぁ
前スレで議論してたのがうそみたい。
ところで、Perl、Python、RubyなんかのP言語が猛威をふるい
Javaなんかもガベコレ積んでるし、
Windowsアプリの主要開発言語もC#になろうかとしている今、
今後、手動でメモリ確保、メモリ解放しなきゃならない環境ってのは
どういうのが残るかなぁ
AppleのObjective-C、組み込み開発、ドライバ、OS等のハードに直結した部分
数値計算とかそういう純粋に速度が要求される分野
思いついたのはこのくらいなんだけど
他にないかなぁ
2013/01/30(水) 22:15:43.17
Objective-Cは最近は手動じゃないっぺ。
2013/01/30(水) 23:29:05.06
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
8デフォルトの名無しさん
2013/01/31(木) 06:30:05.64 freeする前に終了しちゃえばいいさ
2013/01/31(木) 07:58:46.76
「main 以外」なんだからねっ!
不毛な議論しちゃダメ、絶対。
ところで、exit 適用時も議論対象外に、入りますか?
不毛な議論しちゃダメ、絶対。
ところで、exit 適用時も議論対象外に、入りますか?
2013/01/31(木) 10:16:50.76
「main以外」抜いたここは別スレだろ
11デフォルトの名無しさん
2013/02/01(金) 03:11:22.90 こっちが本スレで向こうが隔離スレでしょ
この議論はUNIXの"悪習"が元凶のような気がしてきた
この議論はUNIXの"悪習"が元凶のような気がしてきた
2013/02/01(金) 21:24:43.72
ぶっちゃけ2000年問題と同レべの手抜き習慣
2013/02/01(金) 23:42:42.74
俺もOS評価するときにOS再インスコが
必要になったらPCの電源をブチっと
落とすけど、そんな感じ?
必要になったらPCの電源をブチっと
落とすけど、そんな感じ?
2013/02/02(土) 09:39:47.82
使い捨てのプログラムで、コンパイラみたいな一度走って終わりのプログラムなら、
全部mallocしっぱなし、ってこともある。時と場合による。
全部mallocしっぱなし、ってこともある。時と場合による。
2013/02/02(土) 10:41:02.65
"main以外"を抜いて、また1からやり直したいのか?>>1は
2013/02/02(土) 10:42:00.23
2013/02/02(土) 23:13:35.87
スレチだが、
sprintf(buf,…);
len=strlen(buf);
という低脳なコードを久しぶりに見たw
sprintf(buf,…);
len=strlen(buf);
という低脳なコードを久しぶりに見たw
2013/02/02(土) 23:27:39.79
946 :デフォルトの名無しさん:2013/01/29(火) 22:41:57.29
そもそも最後にまとめて解放すればいいという設計がおかしいんだよ。
最後にまとめて解放するくらいならプロセスの終了に任せれば、って
話になるのはそのため。
mtraceの話も出てるけど、リストだろうがツリーだろうが、使っていると
認識している箇所だけを正しく解放していって、最後に何が残るかを
見ないとリークしてるかどうかなんてわからないだろ。
最後にツリーまとめて消してみたら全部消えたのでリークしてません、
なんてことにはならないんだから。
そこに解放したつもりになっているデータが連結されているかどうか
というのが重要なのに。
947 :デフォルトの名無しさん:2013/01/29(火) 22:45:04.83
こりゃまた大きな釣り針だな。www
948 :デフォルトの名無しさん:2013/01/29(火) 22:47:30.66
くさお悔しくて絶好調だな
949 :デフォルトの名無しさん:2013/01/29(火) 22:47:59.75
>>946
まとめて消して消えるならリークしてないだろ。バカか。
そもそも最後にまとめて解放すればいいという設計がおかしいんだよ。
最後にまとめて解放するくらいならプロセスの終了に任せれば、って
話になるのはそのため。
mtraceの話も出てるけど、リストだろうがツリーだろうが、使っていると
認識している箇所だけを正しく解放していって、最後に何が残るかを
見ないとリークしてるかどうかなんてわからないだろ。
最後にツリーまとめて消してみたら全部消えたのでリークしてません、
なんてことにはならないんだから。
そこに解放したつもりになっているデータが連結されているかどうか
というのが重要なのに。
947 :デフォルトの名無しさん:2013/01/29(火) 22:45:04.83
こりゃまた大きな釣り針だな。www
948 :デフォルトの名無しさん:2013/01/29(火) 22:47:30.66
くさお悔しくて絶好調だな
949 :デフォルトの名無しさん:2013/01/29(火) 22:47:59.75
>>946
まとめて消して消えるならリークしてないだろ。バカか。
2013/02/03(日) 00:20:47.51
>>17
それやったことあります。汚物見せてごめんなさい。
それやったことあります。汚物見せてごめんなさい。
2013/02/03(日) 06:27:33.11
2013/02/03(日) 06:33:39.57
100%ありません
2013/02/03(日) 06:45:51.40
2013/02/03(日) 07:38:05.86
2013/02/03(日) 08:04:22.63
>>17
俺も数えるのめんどくさくてやってしまいそうだが。正解は?
俺も数えるのめんどくさくてやってしまいそうだが。正解は?
2013/02/03(日) 08:20:18.25
2013/02/03(日) 08:34:17.19
2013/02/03(日) 08:38:32.01
2013/02/03(日) 08:39:16.13
>>24
len = sprintf(buf,…);
len = sprintf(buf,…);
2013/02/03(日) 08:47:16.68
「低脳」
草生やし
卑屈で低レベルな煽り
…まともに相手する必要を認めず。
草生やし
卑屈で低レベルな煽り
…まともに相手する必要を認めず。
2013/02/03(日) 08:49:45.14
>>29
敗北宣言ありがとうございますw
敗北宣言ありがとうございますw
2013/02/03(日) 08:52:06.97
議論を勝ち負けで考えているかぎり
お前らの勝ちは一生ありえないよ。
お前らの勝ちは一生ありえないよ。
2013/02/03(日) 09:47:06.42
>>22
そもそも2行目が不要なことを理解できない低脳君乙。
そもそも2行目が不要なことを理解できない低脳君乙。
33デフォルトの名無しさん
2013/02/03(日) 10:01:05.792013/02/03(日) 10:16:26.71
いつもの草男がだんだん本性を現してきました
35デフォルトの名無しさん
2013/02/03(日) 10:36:32.83 つられたバカが悔しがってるな。 wwww
なんでバカって簡単につられるんだろう。 あっ、バカだからか。wwww
なんでバカって簡単につられるんだろう。 あっ、バカだからか。wwww
2013/02/03(日) 10:42:10.53
>>22がバカだからくさおだろう
37デフォルトの名無しさん
2013/02/03(日) 10:55:25.21 >>22が書きそうなコード
if(p!=NULL)free(p);
if(p!=NULL)free(p);
2013/02/03(日) 11:41:14.21
>>38
基地外スレであんまり真面目ぶると、逆に工作員認定される
基地外スレであんまり真面目ぶると、逆に工作員認定される
40デフォルトの名無しさん
2013/02/03(日) 11:51:22.6041デフォルトの名無しさん
2013/02/03(日) 12:03:02.08 ↑くさお書き込みテンプレ
42デフォルトの名無しさん
2013/02/03(日) 12:04:11.64 >>38
freeにNULLを与えた時の動作が標準化されたのはC89からだったはずだから、
20年くらい前のソースならそのように書かれていても不思議じゃない。
作ったライブラリが予想もしない所で使われるかもしれないから、
freeしろとかほざいているfreeバカは、NULL与えるとSEGVする環境(SystemV)に
持って行かれるかもしれないからチェックしろとか言わないのか? wwww
freeにNULLを与えた時の動作が標準化されたのはC89からだったはずだから、
20年くらい前のソースならそのように書かれていても不思議じゃない。
作ったライブラリが予想もしない所で使われるかもしれないから、
freeしろとかほざいているfreeバカは、NULL与えるとSEGVする環境(SystemV)に
持って行かれるかもしれないからチェックしろとか言わないのか? wwww
2013/02/03(日) 12:23:57.18
終了時にメモリ解放してくれるのはどのC言語の規格書に書いてるの?
2013/02/03(日) 12:24:37.29
>freeにNULLを与えた時の動作が標準化されたのはC89からだったはずだから、
馬鹿死ね
K&R1 からだ
realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
馬鹿死ね
K&R1 からだ
realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
2013/02/03(日) 12:42:04.81
>>37
コンパイラが最適化してくれるので問題ありません。
コンパイラが最適化してくれるので問題ありません。
2013/02/03(日) 13:37:59.35
>>45
しない
コンパイラからはfree() は単なる一つの関数にしかみえない
p が 0 のとき free(p) はなにもしないことは、コンパイラはしらない
勉強不足だ、これではwww野郎やQZすらの相手にもならない
死ね
しない
コンパイラからはfree() は単なる一つの関数にしかみえない
p が 0 のとき free(p) はなにもしないことは、コンパイラはしらない
勉強不足だ、これではwww野郎やQZすらの相手にもならない
死ね
2013/02/03(日) 13:42:43.89
>>46
素人乙
素人乙
2013/02/03(日) 13:46:41.46
>>46
コンパイラがライブラリの仕様を把握していないと矛盾が生じます。
printfが書式文字列に従って値を表示することをしらなければ出せない
はずの、書式文字列と引数があっていないときのwarningを出せます。
同じように、if(!p)free(p)という悪しき慣例があることも知っています。
コンパイラがライブラリの仕様を把握していないと矛盾が生じます。
printfが書式文字列に従って値を表示することをしらなければ出せない
はずの、書式文字列と引数があっていないときのwarningを出せます。
同じように、if(!p)free(p)という悪しき慣例があることも知っています。
2013/02/03(日) 13:47:08.31
2013/02/03(日) 13:48:21.26
2013/02/03(日) 13:50:06.53
>>49
なんでfreeのほうを省くの?バカなの?死ぬの?
なんでfreeのほうを省くの?バカなの?死ぬの?
2013/02/03(日) 13:51:19.74
53デフォルトの名無しさん
2013/02/03(日) 13:53:28.26 本日の大バカ晒しage
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
49 :デフォルトの名無しさん:2013/02/03(日) 13:47:08.31
>>47
ではfree(0)を省いてくれる処理系を挙げてみよ
54デフォルトの名無しさん
2013/02/03(日) 13:59:20.992013/02/03(日) 14:03:19.10
逆に、mallocがNULLを返したかチェックしない人多いよね。
LinuxではNULLが返ってくることはないというのが理由らしいんだけど。
LinuxではNULLが返ってくることはないというのが理由らしいんだけど。
2013/02/03(日) 14:07:34.43
成功した振りして使用時に落ちるの何とかして欲しい
2013/02/03(日) 14:11:47.93
OOM Killerで他のプロセスが殺されるとか、糞仕様すぎる。
58デフォルトの名無しさん
2013/02/03(日) 14:23:36.912013/02/03(日) 14:29:16.84
反論できなくなると開き直る
60デフォルトの名無しさん
2013/02/03(日) 14:35:03.61 >>46
お前がオレさまの相手をするのは、バカすぎて無理。wwwww
うんこQzからかって遊ぶだけにとどめておけ。wwww
その処理系のライブラリが
inline void free(void *p)
{
if (p)
read_free(p);
}
という実装だったら、
> if(p!=NULL)free(p);
はコンパイラが最適化できる。 wwww
お前がオレさまの相手をするのは、バカすぎて無理。wwwww
うんこQzからかって遊ぶだけにとどめておけ。wwww
その処理系のライブラリが
inline void free(void *p)
{
if (p)
read_free(p);
}
という実装だったら、
> if(p!=NULL)free(p);
はコンパイラが最適化できる。 wwww
61デフォルトの名無しさん
2013/02/03(日) 14:44:15.39 >>59
> realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
「これは有名」の「これ」とは何かね? wwww
バカの文章は読みにくい。 wwww
> realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
「これは有名」の「これ」とは何かね? wwww
バカの文章は読みにくい。 wwww
2013/02/03(日) 14:50:20.19
>>45
コンパイラが最適化してくれるというのは、そうかも知れない。
でも、しないかもしれない。
また、それは可読性を下げてまでやるべき事ではないと思うがな。
もしかして IOCCC に出品するつもりとか?
そして、やり方としては、無茶な仕事を下請けへ丸投げするのと
全く同じなんだよね。
技術的な裏付けは何にも無いけど、彼奴等に投げておけば
何とかするだろう、レベルの発想。
コンパイラが最適化してくれるというのは、そうかも知れない。
でも、しないかもしれない。
また、それは可読性を下げてまでやるべき事ではないと思うがな。
もしかして IOCCC に出品するつもりとか?
そして、やり方としては、無茶な仕事を下請けへ丸投げするのと
全く同じなんだよね。
技術的な裏付けは何にも無いけど、彼奴等に投げておけば
何とかするだろう、レベルの発想。
2013/02/03(日) 15:10:49.37
2013/02/03(日) 15:16:54.70
65デフォルトの名無しさん
2013/02/03(日) 15:20:11.25 それは↓を言う前に言うべきだったね。 wwww
自信たっぷりに否定した後で、可能な事を示されてからじゃ遅い。 wwww
お前はヘボなんだよ。wwww ヘボ同士でうんこQzと絡んでるのがお似合い。wwww
本日のバカ wwww
> From: [46] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 13:37:59.35
>
> >>45
> しない
> コンパイラからはfree() は単なる一つの関数にしかみえない
> p が 0 のとき free(p) はなにもしないことは、コンパイラはしらない
> 勉強不足だ、これではwww野郎やQZすらの相手にもならない
>
> 死ね
>>45は前スレのオレの真似をして煽っただけだろう。
十中八九inlineで最適化なんて思いついていない中防。。
そんなのに釣られてバカ晒す事になった>>46が憐れでならない。 wwwww
自信たっぷりに否定した後で、可能な事を示されてからじゃ遅い。 wwww
お前はヘボなんだよ。wwww ヘボ同士でうんこQzと絡んでるのがお似合い。wwww
本日のバカ wwww
> From: [46] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 13:37:59.35
>
> >>45
> しない
> コンパイラからはfree() は単なる一つの関数にしかみえない
> p が 0 のとき free(p) はなにもしないことは、コンパイラはしらない
> 勉強不足だ、これではwww野郎やQZすらの相手にもならない
>
> 死ね
>>45は前スレのオレの真似をして煽っただけだろう。
十中八九inlineで最適化なんて思いついていない中防。。
そんなのに釣られてバカ晒す事になった>>46が憐れでならない。 wwwww
2013/02/03(日) 15:21:08.32
全ては、その1個の積み重ねなのだよ。
2013/02/03(日) 15:22:16.73
>>62
呼ばなくていいなら関数呼び出しは少ないほうがいい場合もある。
そういう意味でif (p) free(p)は、意味はある。
機械語にしたところでfreeを呼ぶためにレジスタにロードするので
zeroチェックはそのついでで行うことができるし、ifのほうは
大したペナルティにはならない。
呼ばなくていいなら関数呼び出しは少ないほうがいい場合もある。
そういう意味でif (p) free(p)は、意味はある。
機械語にしたところでfreeを呼ぶためにレジスタにロードするので
zeroチェックはそのついでで行うことができるし、ifのほうは
大したペナルティにはならない。
2013/02/03(日) 15:26:10.39
freeがinlineになっているクソな処理系ってなんだよ。
2013/02/03(日) 15:28:33.30
>>64
linux上でman mallocをよく読め。
linux上でman mallocをよく読め。
2013/02/03(日) 15:32:20.46
>>67
NULLがzeroだなんて誰が決めたの?
NULLがzeroだなんて誰が決めたの?
2013/02/03(日) 15:36:01.30
ところで明日振り替え休日で休みだよね。
2013/02/03(日) 15:36:42.91
NULLは(仮に機械表現が全ビット0でなかったりしても)コンパイラ(言語)の上では0だよ?
そんなことも知らずにこんなスレで暴れようと思ってるの?
そんなことも知らずにこんなスレで暴れようと思ってるの?
2013/02/03(日) 15:44:50.31
>>60
>その処理系のライブラリが inline void free(void *p)
お前も馬鹿か?
標準ライブラリがソースで提供されているとでも?
普通はobjやlibではないか?
そんなバイナリをインラインにできるとでも?
死ね
>その処理系のライブラリが inline void free(void *p)
お前も馬鹿か?
標準ライブラリがソースで提供されているとでも?
普通はobjやlibではないか?
そんなバイナリをインラインにできるとでも?
死ね
2013/02/03(日) 15:46:58.24
>>73
#include <stdlib.h>
#include <stdlib.h>
2013/02/03(日) 15:49:07.30
>>61
やさしい日本語しかよまない/よめない馬鹿なんだね、指示詞を敢えて差し込むのはよくやること
>前項の目的を達するため、陸海空軍その他の戦力は**これを**保持しない。
>国の交戦権は**これを**認めない。
>> realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
>「これは有名」の「これ」とは何かね? wwww
「realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話」
だね
死ね
やさしい日本語しかよまない/よめない馬鹿なんだね、指示詞を敢えて差し込むのはよくやること
>前項の目的を達するため、陸海空軍その他の戦力は**これを**保持しない。
>国の交戦権は**これを**認めない。
>> realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話であればこれは有名
>「これは有名」の「これ」とは何かね? wwww
「realloc(NULL, size); がmalloc(size) と等価にならないかわいそうなバグがある処理系が存在した話」
だね
死ね
2013/02/03(日) 15:50:47.38
>>74
死ね
死ね
2013/02/03(日) 15:52:02.57
>>71
ということにしたいのですね:-P
ということにしたいのですね:-P
2013/02/03(日) 15:54:38.10
len = sprintf(buf, "%c", 0)
len => 1
strlen(buf) => 0
len => 1
strlen(buf) => 0
79デフォルトの名無しさん
2013/02/03(日) 15:56:25.842013/02/03(日) 15:59:48.45
しかしこのネタは昔から盛り上がるんだけれど、リアルで素のmallocをアプリレベルでそんなに呼ぶものなのか?
組み込み云々言っている奴もいたけれど、俺が関わってきた範囲では分断の問題で直接使うことはないな。
素のmalloc/freeは遅くて使い物にならないって環境って場合もあったけど。
最近はRAM自体はそこそこのっている環境も多いんでスタック増やして、C99にして可変長配列使うっていう手で
かなりの部分が楽になった。
人命云々言っている奴、プロセスの概念がある世界ならば、なるべくプロセスの寿命を短くするって方向も
考えたほうがいいぞ。最初からmalloc/freeだけに限らずバグの全くない大規模なプログラムなんて
妄想だと思ってシステム作ると、頑強なものができるから。
組み込み云々言っている奴もいたけれど、俺が関わってきた範囲では分断の問題で直接使うことはないな。
素のmalloc/freeは遅くて使い物にならないって環境って場合もあったけど。
最近はRAM自体はそこそこのっている環境も多いんでスタック増やして、C99にして可変長配列使うっていう手で
かなりの部分が楽になった。
人命云々言っている奴、プロセスの概念がある世界ならば、なるべくプロセスの寿命を短くするって方向も
考えたほうがいいぞ。最初からmalloc/freeだけに限らずバグの全くない大規模なプログラムなんて
妄想だと思ってシステム作ると、頑強なものができるから。
81デフォルトの名無しさん
2013/02/03(日) 16:09:57.63 マルチスレッドだと、スタックサイズが固定になるのでautoにでかいのを置くことは
必然的に避ける事になる。 これ位は常識だぞ。 wwww
> 最初からmalloc/freeだけに限らずバグの全くない大規模なプログラムなんて
free楽勝と豪語しているfree必須バカは全くバグのないプログラムを作れるらしいぞ。wwww
必然的に避ける事になる。 これ位は常識だぞ。 wwww
> 最初からmalloc/freeだけに限らずバグの全くない大規模なプログラムなんて
free楽勝と豪語しているfree必須バカは全くバグのないプログラムを作れるらしいぞ。wwww
2013/02/03(日) 16:14:07.11
2013/02/03(日) 16:14:49.26
>マルチスレッドだと、スタックサイズが固定になる
無知発見w
無知発見w
2013/02/03(日) 16:15:58.26
>リアルで素のmallocをアプリレベルでそんなに呼ぶものなのか
>素のmalloc/freeは遅くて使い物にならないって環境って場合もあったけど
自分が特殊な環境にいたと自負してる時点で1行目が死んでるよ
>素のmalloc/freeは遅くて使い物にならないって環境って場合もあったけど
自分が特殊な環境にいたと自負してる時点で1行目が死んでるよ
2013/02/03(日) 16:18:17.34
86デフォルトの名無しさん
2013/02/03(日) 16:20:58.632013/02/03(日) 16:22:02.44
2013/02/03(日) 16:22:30.71
>>81
> マルチスレッドだと、スタックサイズが固定になるのでautoにでかいのを置くことは
> 必然的に避ける事になる。 これ位は常識だぞ。 wwww
おいおい、組み込みの世界だと元々スタック1Kとかふつーだったのが、それを64Kにすれば
楽できるとかそういうレベルの話だよ。
> マルチスレッドだと、スタックサイズが固定になるのでautoにでかいのを置くことは
> 必然的に避ける事になる。 これ位は常識だぞ。 wwww
おいおい、組み込みの世界だと元々スタック1Kとかふつーだったのが、それを64Kにすれば
楽できるとかそういうレベルの話だよ。
2013/02/03(日) 16:23:37.58
2013/02/03(日) 16:25:47.94
死ねの人は息してる?w
2013/02/03(日) 16:27:24.50
2013/02/03(日) 16:29:53.55
>>80
確かに素のmalloc()/free() を直にソースに散らばらせるのは好ましくないね
QZですらアロケータ経由だったようだし
昔のlisp処理系ではタイプごとにアロケータを別に準備していたようだねセル用とかね64KiBのシステム用だったけれど
確かに素のmalloc()/free() を直にソースに散らばらせるのは好ましくないね
QZですらアロケータ経由だったようだし
昔のlisp処理系ではタイプごとにアロケータを別に準備していたようだねセル用とかね64KiBのシステム用だったけれど
2013/02/03(日) 16:30:48.52
2013/02/03(日) 16:31:17.25
>>81
>free楽勝と豪語しているfree必須バカは全くバグのないプログラムを作れるらしいぞ。wwww
楽勝とはいっていないがmalloc()/free()くらいは完全に管理できるだろうねアロケータを準備したりしてね
お前はそれができないからmalloc()/free()を使わないんだろう?
死ね
>free楽勝と豪語しているfree必須バカは全くバグのないプログラムを作れるらしいぞ。wwww
楽勝とはいっていないがmalloc()/free()くらいは完全に管理できるだろうねアロケータを準備したりしてね
お前はそれができないからmalloc()/free()を使わないんだろう?
死ね
2013/02/03(日) 16:32:12.21
2013/02/03(日) 16:33:35.98
(このままじゃくさおが生霊に殺されそう…)
2013/02/03(日) 16:34:36.64
98デフォルトの名無しさん
2013/02/03(日) 16:40:00.252013/02/03(日) 16:43:17.30
101デフォルトの名無しさん
2013/02/03(日) 16:44:14.74 1.スタックサイズは固定だよバカ
2.(1へ)生成時に設定できるよ
3.(2へ)生成時に設定できるの知らないのかバカ
3は2に対してどのような作用を及ぼしているんだろう
さすがに草生やさないと会話できないだけあって文盲過ぎる
2.(1へ)生成時に設定できるよ
3.(2へ)生成時に設定できるの知らないのかバカ
3は2に対してどのような作用を及ぼしているんだろう
さすがに草生やさないと会話できないだけあって文盲過ぎる
102デフォルトの名無しさん
2013/02/03(日) 16:44:31.10103デフォルトの名無しさん
2013/02/03(日) 16:46:05.71 くさおはどうして日本語が不自由なの?
104デフォルトの名無しさん
2013/02/03(日) 16:47:41.81 >>103
頭が不自由だからですよ。
頭が不自由だからですよ。
105デフォルトの名無しさん
2013/02/03(日) 16:48:20.91 >>98
pthreadもスタックサイズくらい変えられるが。
pthreadもスタックサイズくらい変えられるが。
106デフォルトの名無しさん
2013/02/03(日) 16:57:20.49 くさお敗走wwwwww
107デフォルトの名無しさん
2013/02/03(日) 16:59:38.11108デフォルトの名無しさん
2013/02/03(日) 17:00:13.09 スレッドのスタックサイズを変えるという話で
スレッドが動き出してから変えると認識した人
初めて見たわ。
スタックサイズを変えるなんて100%生成時しかあり得ないだろ。
スレッドが動き出してから変えると認識した人
初めて見たわ。
スタックサイズを変えるなんて100%生成時しかあり得ないだろ。
109デフォルトの名無しさん
2013/02/03(日) 17:05:53.43 >>107
君、スレに貼った超短いコードがいくつもバグってたよね?
君、スレに貼った超短いコードがいくつもバグってたよね?
110デフォルトの名無しさん
2013/02/03(日) 17:08:01.36 >>109
freeを書くとバグるからfreeをやめよう、という宗教の教祖様ですから。
freeを書くとバグるからfreeをやめよう、という宗教の教祖様ですから。
111デフォルトの名無しさん
2013/02/03(日) 17:13:05.67 >>109
バグったのは
http://toro.2ch.net/test/read.cgi/tech/1359585842/12
だけだが。
>>108
(シングルスレッドなら)メインスレッドのスタックは動き出してから自動的に伸びるだろ。
お前ら決定的に力量不足。言い換えればバカ。www
バグったのは
http://toro.2ch.net/test/read.cgi/tech/1359585842/12
だけだが。
>>108
(シングルスレッドなら)メインスレッドのスタックは動き出してから自動的に伸びるだろ。
お前ら決定的に力量不足。言い換えればバカ。www
112デフォルトの名無しさん
2013/02/03(日) 17:16:24.52 さすが力量マンの書くコードは力量が見て取れるナー
http://toro.2ch.net/test/read.cgi/tech/1359585842/12
http://toro.2ch.net/test/read.cgi/tech/1359585842/12
113デフォルトの名無しさん
2013/02/03(日) 17:21:54.48 mainの引数の仕様もしらんのか、こいつ。
114デフォルトの名無しさん
2013/02/03(日) 17:44:02.24 >>111
直したつもりの奴でいいからさ
http://toro.2ch.net/test/read.cgi/tech/1359585842/15
argcが0以上をチェックする目的と
argv[0]を"-exit"と比較する意味を説明してくれ
直したつもりの奴でいいからさ
http://toro.2ch.net/test/read.cgi/tech/1359585842/15
argcが0以上をチェックする目的と
argv[0]を"-exit"と比較する意味を説明してくれ
115デフォルトの名無しさん
2013/02/03(日) 17:46:07.76 おーい、このバカ(>>113)が何言ってるのか翻訳してくれ。wwww
ANSI C99 5.1.2.2.1 Program Startupの↓これ以外の事なのか?
バカ同士ならわかるだろ。 www
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
--
9) Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as
char ** argv, and so on.
ANSI C99 5.1.2.2.1 Program Startupの↓これ以外の事なのか?
バカ同士ならわかるだろ。 www
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
--
9) Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as
char ** argv, and so on.
116デフォルトの名無しさん
2013/02/03(日) 17:49:14.79 >>103
憲法も読んだことないんですって
憲法も読んだことないんですって
117デフォルトの名無しさん
2013/02/03(日) 17:49:49.96118デフォルトの名無しさん
2013/02/03(日) 17:58:22.92 >>114
特別だぞ。バカ。wwww
> argcが0以上をチェックする目的と
5.1.2.2.1 Program startup
2 If they are declared, the parameters to the main function shall obey the following
constraints:
The value of argc shall be nonnegative
> argv[0]を"-exit"と比較する意味を説明してくれ
free必須バカが正常系はfreeしろ、シグナル終了などの異常系はfreeしなくていい
例外とかいってるから、異常系ではないexecveで終了してみた。wwww
特別だぞ。バカ。wwww
> argcが0以上をチェックする目的と
5.1.2.2.1 Program startup
2 If they are declared, the parameters to the main function shall obey the following
constraints:
The value of argc shall be nonnegative
> argv[0]を"-exit"と比較する意味を説明してくれ
free必須バカが正常系はfreeしろ、シグナル終了などの異常系はfreeしなくていい
例外とかいってるから、異常系ではないexecveで終了してみた。wwww
119デフォルトの名無しさん
2013/02/03(日) 18:03:56.79 >>118
argv[0] って普通プログラムの名前とかパスとかが入っているんですよね?これって環境依存?
argv[0] って普通プログラムの名前とかパスとかが入っているんですよね?これって環境依存?
120デフォルトの名無しさん
2013/02/03(日) 18:09:59.75121デフォルトの名無しさん
2013/02/03(日) 18:15:54.29 execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
122デフォルトの名無しさん
2013/02/03(日) 18:17:14.77 なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
なんねーよ。バカ。wwwww
123デフォルトの名無しさん
2013/02/03(日) 18:18:38.59 また一匹伝説のバカが生まれる瞬間に立ち会ってしまった。 wwww
124デフォルトの名無しさん
2013/02/03(日) 18:21:29.24 argcがネガチブだったら、何もしないで終了した方がいいと思うの
125デフォルトの名無しさん
2013/02/03(日) 18:29:59.18 nonnegativeって規格で決まってるんだからダメだろ。バカ。wwww
それにexecveのargvになに渡すとネガティブになるんだよ。wwwww
"-exit"渡さないという方法もあるだろうけど、それで動くか確信持て
なかったので確実に動く"-exit"渡した。 wwww
それにexecveのargvになに渡すとネガティブになるんだよ。wwwww
"-exit"渡さないという方法もあるだろうけど、それで動くか確信持て
なかったので確実に動く"-exit"渡した。 wwww
126デフォルトの名無しさん
2013/02/03(日) 18:33:05.42 今日も予定外かつ規格外のバカが釣れた。wwww
こういうバカがfree楽勝。バグなんか作らないと豪語している。笑うしかないな。 wwwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
こういうバカがfree楽勝。バグなんか作らないと豪語している。笑うしかないな。 wwwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
127デフォルトの名無しさん
2013/02/03(日) 18:34:13.45 gcc -o "-exit"
128デフォルトの名無しさん
2013/02/03(日) 18:35:47.81 流れ追ってなくてよく分からないけど
http://toro.2ch.net/test/read.cgi/tech/1359585842/15
みたいなプログラム書く人が規格外のバカだっていうのはわかった
http://toro.2ch.net/test/read.cgi/tech/1359585842/15
みたいなプログラム書く人が規格外のバカだっていうのはわかった
129デフォルトの名無しさん
2013/02/03(日) 18:39:35.71 freeでバグるためなら、どんな阿呆で無意味なソースでも書いて見せます。
130デフォルトの名無しさん
2013/02/03(日) 18:42:51.19 http://kazmax.zpp.jp/cmd/e/execve.2.html
execveでargv作ってるんだから0番目が-exitでもおかしくないんじゃないか
正常系か異常系かと言われたら作った人の頭が異常系だな
execveでargv作ってるんだから0番目が-exitでもおかしくないんじゃないか
正常系か異常系かと言われたら作った人の頭が異常系だな
131デフォルトの名無しさん
2013/02/03(日) 18:43:33.07 >>128-129
悔しそうだな。 今度は自演という事にしないのか? wwww
も一回、反芻しようっと。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
悔しそうだな。 今度は自演という事にしないのか? wwww
も一回、反芻しようっと。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
132デフォルトの名無しさん
2013/02/03(日) 18:48:17.85 execveでargv[0]を引数にして動作を振り分けるなんというキチガイな
実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
133デフォルトの名無しさん
2013/02/03(日) 18:50:48.24 >>132
ヒント:マルウエア
ヒント:マルウエア
134デフォルトの名無しさん
2013/02/03(日) 18:51:40.81 >>132
BusyBox
BusyBox
135デフォルトの名無しさん
2013/02/03(日) 18:53:17.95136デフォルトの名無しさん
2013/02/03(日) 19:10:42.81 なんかバカ相手の炎上学習教室開いてる気がしてきた。 wwww
お前らバカすぎる。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [132] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:48:17.85
>
> execveでargv[0]を引数にして動作を振り分けるなんというキチガイな
> 実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
お前らバカすぎる。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [132] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:48:17.85
>
> execveでargv[0]を引数にして動作を振り分けるなんというキチガイな
> 実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
137デフォルトの名無しさん
2013/02/03(日) 19:21:07.96 煽ればキチガイが必死になって回答してくれるのでいろいろ捗るなw
138デフォルトの名無しさん
2013/02/03(日) 19:30:08.03 よく >>137 みたいな事言う奴がいるけど、
そんなに自分の無能っぷりを自慢したいのだろうか?
そんなに自分の無能っぷりを自慢したいのだろうか?
139デフォルトの名無しさん
2013/02/03(日) 19:36:33.65 >>138
その無能にいいように利用されている自称有能な人たちw
その無能にいいように利用されている自称有能な人たちw
140デフォルトの名無しさん
2013/02/03(日) 19:37:13.54 第三者と思い込む事でなかったことにしたいんだろう。wwww
free必須バカってこんなのばっかり。 規格外のバカ。 wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [132] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:48:17.85
>
> execveでargv[0]を引数にして動作を振り分けるなんというキチガイな
> 実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
free必須バカってこんなのばっかり。 規格外のバカ。 wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [132] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:48:17.85
>
> execveでargv[0]を引数にして動作を振り分けるなんというキチガイな
> 実装を、有名なOSSの実装で1つでも出せるなら認めてやろう。
141デフォルトの名無しさん
2013/02/03(日) 19:44:04.88142デフォルトの名無しさん
2013/02/03(日) 20:07:32.46 そうやって奴隷の自覚のないまま奴隷にするのが
俺のテクニックだ。
俺のテクニックだ。
143デフォルトの名無しさん
2013/02/03(日) 20:12:34.93144デフォルトの名無しさん
2013/02/03(日) 20:16:22.26 バカがついに崩壊したか。 wwww
freeは必須とか言ってるバカ、まだ生存してるのか? wwww
大分踏みつぶしたけど。 wwwww
freeは必須とか言ってるバカ、まだ生存してるのか? wwww
大分踏みつぶしたけど。 wwwww
145デフォルトの名無しさん
2013/02/03(日) 22:43:43.90 ヒント:free派に便乗した炎上学習者にくさおが操られてるだけ
146デフォルトの名無しさん
2013/02/03(日) 23:00:31.96 にくさおw
147デフォルトの名無しさん
2013/02/03(日) 23:15:03.11 肉竿ってなんだか卑猥
148デフォルトの名無しさん
2013/02/03(日) 23:27:57.26 〜炎上学習者にくさお伝説〜
>バカがついに崩壊したか。 wwww
>freeは必須とか言ってるバカ、まだ生存してるのか? wwww
>大分踏みつぶしたけど。 wwwww
↑完全に乗せられています
>バカがついに崩壊したか。 wwww
>freeは必須とか言ってるバカ、まだ生存してるのか? wwww
>大分踏みつぶしたけど。 wwwww
↑完全に乗せられています
149デフォルトの名無しさん
2013/02/04(月) 02:01:32.79 もう面倒だから free(malloc(size)); でいいじゃん。
150デフォルトの名無しさん
2013/02/04(月) 09:10:32.85 free必要なプログラムのうちの1%で
freeしてもしなくてもいい希少な例を
頑張って考えたところで、残り99%では
必要なことはまったく崩せていないんだけどね。
単に希少な特異な例を持ち出してクイズを
やっているに過ぎない。
freeしてもしなくてもいい希少な例を
頑張って考えたところで、残り99%では
必要なことはまったく崩せていないんだけどね。
単に希少な特異な例を持ち出してクイズを
やっているに過ぎない。
151デフォルトの名無しさん
2013/02/04(月) 09:22:50.67 バカはあのクイズの意味を理解していない。wwww
↓こんなこといってるバカだから理解できないのは当然と言えば当然だが。 wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
↓こんなこといってるバカだから理解できないのは当然と言えば当然だが。 wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
152デフォルトの名無しさん
2013/02/04(月) 11:32:59.54 悔しい時の話題そらし
どこのスレでも同じだな
どこのスレでも同じだな
153デフォルトの名無しさん
2013/02/04(月) 11:44:30.00 踏みつぶされたゴミ虫がなんかほざいてるようだな。wwwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
154デフォルトの名無しさん
2013/02/04(月) 13:50:04.92 >>152
もう話題をそらす余裕さえ無くなってるみたいだな
もう話題をそらす余裕さえ無くなってるみたいだな
155デフォルトの名無しさん
2013/02/04(月) 15:15:48.34 よほど話題を変えて欲しいらしい。まあ無理もないが。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
156デフォルトの名無しさん
2013/02/04(月) 15:58:28.44 これをコピペすることだけが心の支えなんだな
157デフォルトの名無しさん
2013/02/04(月) 16:50:59.90 よほど話題を変えて欲しいらしい。まあ無理もないが。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
158デフォルトの名無しさん
2013/02/04(月) 18:50:06.57 頭が悪いからよく分からないんだけど、ここまでで>>4から何か進展があった?
159デフォルトの名無しさん
2013/02/04(月) 22:28:51.21 ないよ
160デフォルトの名無しさん
2013/02/04(月) 22:30:11.74 >>156
今までの流れから察すると自分の中で負けを認めてしまったときからコピペになる
今までの流れから察すると自分の中で負けを認めてしまったときからコピペになる
161デフォルトの名無しさん
2013/02/04(月) 22:30:28.84 臭夫の脳の腐乱がどんどん進んでいるという意味では進展あるな
162デフォルトの名無しさん
2013/02/04(月) 22:54:42.89 よほど話題を変えて欲しいらしい。まあ無理もないが。wwww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
163デフォルトの名無しさん
2013/02/04(月) 23:12:56.14164デフォルトの名無しさん
2013/02/04(月) 23:16:28.41165デフォルトの名無しさん
2013/02/04(月) 23:27:23.95 argvを汚くする話ならしてたな
166デフォルトの名無しさん
2013/02/05(火) 02:29:25.10167デフォルトの名無しさん
2013/02/05(火) 12:54:03.95 マロックなん?エムアロックなん?
168デフォルトの名無しさん
2013/02/05(火) 12:58:23.06169デフォルトの名無しさん
2013/02/05(火) 13:01:30.61 確実な意思疎通を優先するならエムアロック
170デフォルトの名無しさん
2013/02/05(火) 13:20:07.26 オム・アンコなん?オマンコなん?
171デフォルトの名無しさん
2013/02/06(水) 22:06:38.19 フリーなん?エフリーなん?
172デフォルトの名無しさん
2013/02/10(日) 14:54:02.29 v8のjavascriptのGabageCollectionは
実際にメモリが足りなくなるまでは発動されないよ
process.exit(0);で終了するとGCされないまま終了するwww
条件付free不要派の勝利www
実際にメモリが足りなくなるまでは発動されないよ
process.exit(0);で終了するとGCされないまま終了するwww
条件付free不要派の勝利www
173デフォルトの名無しさん
2013/02/10(日) 15:00:32.02 そもそもガベコレが頻繁に行われたからと言って、
メモリの断片化が解消されるとは限らないからな。
どうせあとで確保出来なくなるなら何もしてないのと一緒。
free するだけ時間の無駄。
メモリの断片化が解消されるとは限らないからな。
どうせあとで確保出来なくなるなら何もしてないのと一緒。
free するだけ時間の無駄。
174デフォルトの名無しさん
2013/02/10(日) 19:03:48.57 突然javascriptとかGCを持ち出す自演とか涙ぐましいね
175デフォルトの名無しさん
2013/02/10(日) 19:07:06.60 LinuxだってGCするじゃん。
176デフォルトの名無しさん
2013/02/10(日) 22:31:07.24 最近話題の OOM killer ですか
177デフォルトの名無しさん
2013/02/13(水) 07:45:53.85 >>172
草生やす前にスペルミス直そうな
草生やす前にスペルミス直そうな
178デフォルトの名無しさん
2013/02/13(水) 17:26:58.71179デフォルトの名無しさん
2013/02/14(木) 00:23:41.37 くさおだろ捕まったの
180デフォルトの名無しさん
2013/02/14(木) 01:25:46.49 そういやあらわれないね
181デフォルトの名無しさん
2013/02/15(金) 20:24:21.30 完 全 に く さ お 終 了
182デフォルトの名無しさん
2013/02/15(金) 20:59:42.95 free("くさお")
183デフォルトの名無しさん
2013/02/15(金) 21:08:09.10 freeしない派だから終身刑だろ
死ねばOSが解放してくれるんじゃね
死ねばOSが解放してくれるんじゃね
184デフォルトの名無しさん
2013/02/15(金) 21:25:57.53 踏みつぶされるのが怖くて反論できなくなったfree必須バカ。 www
かかってこいよ。チンカス。www
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
かかってこいよ。チンカス。www
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
185デフォルトの名無しさん
2013/02/15(金) 21:28:16.69 ↑※キーワードに反応して遠隔操作でコピペしています
186デフォルトの名無しさん
2013/02/16(土) 04:06:17.19 まだ続いてるのか? だったらfreeはなんのためにあるんだ?って聞いてやれよww
187デフォルトの名無しさん
2013/02/16(土) 04:40:14.39 >>186
またバカが踏みつぶされるために向かってきた。www
> The free function causes the space pointed to by ptr to be deallocated,
> that is, made available for further allocation.
freeは何のためにあるって書いてある? www
またバカが踏みつぶされるために向かってきた。www
> The free function causes the space pointed to by ptr to be deallocated,
> that is, made available for further allocation.
freeは何のためにあるって書いてある? www
188デフォルトの名無しさん
2013/02/16(土) 08:46:40.95 面接で落とされてまた戻ってきたのか
189デフォルトの名無しさん
2013/02/16(土) 09:08:49.69 また返り討ちか。バカ www
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [186] デフォルトの名無しさん <sage>
> Date: 2013/02/16(土) 04:06:17.19
>
> まだ続いてるのか? だったらfreeはなんのためにあるんだ?って聞いてやれよww
> From: [121] デフォルトの名無しさん <sage>
> Date: 2013/02/03(日) 18:15:54.29
>
> execveで呼ばれたときにargv[0]は"/proc/???/exe"みたいなのなるだろ、つってんだよ
> From: [186] デフォルトの名無しさん <sage>
> Date: 2013/02/16(土) 04:06:17.19
>
> まだ続いてるのか? だったらfreeはなんのためにあるんだ?って聞いてやれよww
190デフォルトの名無しさん
2013/02/16(土) 09:18:49.76 freeするとバグるよぉ、怖いよぉっていうのを自分に納得させるために
まず使わないトリッキーな方法を選りすぐって欺瞞を並べてます。
所詮は自分が獲得したメモリを自分の実装で管理しきれない無能。
図書館から本を借りパクしても、死ねば遺品整理で誰かが返してくれる方式。
まず使わないトリッキーな方法を選りすぐって欺瞞を並べてます。
所詮は自分が獲得したメモリを自分の実装で管理しきれない無能。
図書館から本を借りパクしても、死ねば遺品整理で誰かが返してくれる方式。
191デフォルトの名無しさん
2013/02/16(土) 09:31:39.89 free楽勝と豪語しているfree必須バカの作品 wwww
http://toro.2ch.net/test/read.cgi/tech/1352812333/861
> From: [861] デフォルトの名無しさん <sage>
> Date: 2013/01/28(月) 00:32:10.36
>
> 当然、リスト構造を丸ごと削除する処理は関数にするんだよな?
> 「短く書け」だから速度も要求してないようだし、2行で書けるんでないか
>
> void free_l(struct l *p) {
> if(p && p->next) free_l(p->next);
> else free(p);
> }
http://toro.2ch.net/test/read.cgi/tech/1352812333/861
> From: [861] デフォルトの名無しさん <sage>
> Date: 2013/01/28(月) 00:32:10.36
>
> 当然、リスト構造を丸ごと削除する処理は関数にするんだよな?
> 「短く書け」だから速度も要求してないようだし、2行で書けるんでないか
>
> void free_l(struct l *p) {
> if(p && p->next) free_l(p->next);
> else free(p);
> }
192デフォルトの名無しさん
2013/02/16(土) 09:38:22.25 http://toro.2ch.net/test/read.cgi/tech/1352812333/795
> From: [795] ◆QZaw55cn4c <sage>
> Date: 2013/01/27(日) 18:28:41.06
>
> >>788
> >>646
> for (i = 0; i < 10000000; i++) { struct l *p = malloc(sizeof(struct l)); p->next = root; root = p; }
>
> void free_l(struct l *p) {if (p->next) free_l(p->next); free(p); }
>
> 確保は線形的、解放は再帰的かいな?
> あえて曲げてんのか?解放も普通に書けよ
>
> >>794
> いっぱいあるねえ
> https://www.google.com/search?q=%22double+pointer%22+linux
> 約 9,060 件 (0.13 秒)
> From: [795] ◆QZaw55cn4c <sage>
> Date: 2013/01/27(日) 18:28:41.06
>
> >>788
> >>646
> for (i = 0; i < 10000000; i++) { struct l *p = malloc(sizeof(struct l)); p->next = root; root = p; }
>
> void free_l(struct l *p) {if (p->next) free_l(p->next); free(p); }
>
> 確保は線形的、解放は再帰的かいな?
> あえて曲げてんのか?解放も普通に書けよ
>
> >>794
> いっぱいあるねえ
> https://www.google.com/search?q=%22double+pointer%22+linux
> 約 9,060 件 (0.13 秒)
193デフォルトの名無しさん
2013/02/16(土) 09:39:50.95 http://toro.2ch.net/test/read.cgi/tech/1352812333/874
From: [874] デフォルトの名無しさん <>
Date: 2013/01/29(火) 12:37:44.50
>
> バカがうるさいので書き直してやるよ。www
> void free_l(struct l * restrict p) {
> struct l *next = p->next;
> free(p);
> if (next)
> free_l(next);
> }
>
> バカのいいがかりなんて所詮この程度の事。 バカには意味わからないだろうけどな。www
From: [874] デフォルトの名無しさん <>
Date: 2013/01/29(火) 12:37:44.50
>
> バカがうるさいので書き直してやるよ。www
> void free_l(struct l * restrict p) {
> struct l *next = p->next;
> free(p);
> if (next)
> free_l(next);
> }
>
> バカのいいがかりなんて所詮この程度の事。 バカには意味わからないだろうけどな。www
194デフォルトの名無しさん
2013/02/16(土) 09:40:52.34 くさおは能力ないからちゃんとした議論ができなくて実のない話ばっかだな
195デフォルトの名無しさん
2013/02/16(土) 09:41:06.20 http://toro.2ch.net/test/read.cgi/tech/1352812333/876
> From: [876] デフォルトの名無しさん <sage>
> Date: 2013/01/29(火) 12:58:33.48
>
> ここでwwwさんに問題です
> 天才には簡単な問題ですので必ず逃げないで答えてください
>
> スタックサイズが8MBのとき、このfree_l関数で解放可能な連結リストは
> 最大何個連結可能でしょうか?
>
> アーキテクチャは好きに選んでいいですよ
> From: [876] デフォルトの名無しさん <sage>
> Date: 2013/01/29(火) 12:58:33.48
>
> ここでwwwさんに問題です
> 天才には簡単な問題ですので必ず逃げないで答えてください
>
> スタックサイズが8MBのとき、このfree_l関数で解放可能な連結リストは
> 最大何個連結可能でしょうか?
>
> アーキテクチャは好きに選んでいいですよ
196デフォルトの名無しさん
2013/02/16(土) 09:42:41.37 http://toro.2ch.net/test/read.cgi/tech/1352812333/885
From: [885] デフォルトの名無しさん <>
Date: 2013/01/29(火) 14:42:41.02
>
> >>884
> 制限なし。www
> これでいいのか。 www
From: [885] デフォルトの名無しさん <>
Date: 2013/01/29(火) 14:42:41.02
>
> >>884
> 制限なし。www
> これでいいのか。 www
197デフォルトの名無しさん
2013/02/16(土) 10:07:12.68 極論に走っているのが無能の証拠。
198デフォルトの名無しさん
2013/02/16(土) 13:43:00.26 >>190
使い捨てのプラスチック食器を使ってバーベキューを
楽しんでいると考えてください。
この食器は耐久性があるので、さっと洗って何回でも使えます。
さっと洗うのがfree、再度利用するのがmallocと考えてください。
何回でも洗って使えるので、限られた量の食器でも永続的に
バーベキューを楽しむことができます。
そうは言ってもバーベキューの時間も終わりがきます。
あなたはどうするでしょうか ?
汚れたプラスチック食器を洗って整頓して、再度利用できる状態まで
整理してからゴミ袋に放り込むのでしょうか ?
でしたらfree絶対派です。
どうせ廃棄するのだからと
テーブルの上からゴソっとごみ袋に放り込むのでしょうか ?
でしたらfreeは必要でない場合もある派です。
使い捨てのプラスチック食器を使ってバーベキューを
楽しんでいると考えてください。
この食器は耐久性があるので、さっと洗って何回でも使えます。
さっと洗うのがfree、再度利用するのがmallocと考えてください。
何回でも洗って使えるので、限られた量の食器でも永続的に
バーベキューを楽しむことができます。
そうは言ってもバーベキューの時間も終わりがきます。
あなたはどうするでしょうか ?
汚れたプラスチック食器を洗って整頓して、再度利用できる状態まで
整理してからゴミ袋に放り込むのでしょうか ?
でしたらfree絶対派です。
どうせ廃棄するのだからと
テーブルの上からゴソっとごみ袋に放り込むのでしょうか ?
でしたらfreeは必要でない場合もある派です。
199デフォルトの名無しさん
2013/02/16(土) 14:11:24.26 「食器はセルフサービスです。使ったお皿は洗ってもとの場所に返しておいてください。」
という張り紙を書くか、
「...ただし終了前は洗わずに返してかまいません。終了するときには主催者から
アナウンスがありますので、注意して聞いてください。」
という張り紙を書くか。
という張り紙を書くか、
「...ただし終了前は洗わずに返してかまいません。終了するときには主催者から
アナウンスがありますので、注意して聞いてください。」
という張り紙を書くか。
200デフォルトの名無しさん
2013/02/16(土) 18:44:44.00 http://toro.2ch.net/test/read.cgi/tech/1352812333/884
> From: [884] デフォルトの名無しさん <sage>
> Date: 2013/01/29(火) 14:41:33.76
>
> 別にちゃんと>>867を答えてもらってもいいですよ
> 答えられるならばの話ですけど
> From: [884] デフォルトの名無しさん <sage>
> Date: 2013/01/29(火) 14:41:33.76
>
> 別にちゃんと>>867を答えてもらってもいいですよ
> 答えられるならばの話ですけど
201デフォルトの名無しさん
2013/02/16(土) 18:51:39.31 http://toro.2ch.net/test/read.cgi/tech/1352812333/889
From: [889] デフォルトの名無しさん <sage>
Date: 2013/01/29(火) 15:16:19.97
>
> すいません、笑いすぎて息でなくて、笑い死にしそうになっていました
From: [889] デフォルトの名無しさん <sage>
Date: 2013/01/29(火) 15:16:19.97
>
> すいません、笑いすぎて息でなくて、笑い死にしそうになっていました
202デフォルトの名無しさん
2013/02/16(土) 18:55:52.54 http://toro.2ch.net/test/read.cgi/tech/1352812333/899
From: [899] デフォルトの名無しさん <>
Date: 2013/01/29(火) 16:39:16.63
> >>874は末尾再帰と呼ばれる形式で、機械的に反復形式に最適化できる。
> 証拠 → http://pastebin.com/4pBPEWBGの該当部分
> .LBB0_1: # %tailrecurse
> # =>This Inner Loop Header: Depth=1
> movq (%rdi), %rbx
> callq free
> testq %rbx, %rbx
> movq %rbx, %rdi
> jne .LBB0_1
> 全くスタックは消費していない。rdiがfree_lへの引数(p), rbxがnextだな。
>
> せっかく↓警告しといてあげたのにね。
> > バカのいいがかりなんて所詮この程度の事。 バカには意味わからないだろうけどな。www
From: [899] デフォルトの名無しさん <>
Date: 2013/01/29(火) 16:39:16.63
> >>874は末尾再帰と呼ばれる形式で、機械的に反復形式に最適化できる。
> 証拠 → http://pastebin.com/4pBPEWBGの該当部分
> .LBB0_1: # %tailrecurse
> # =>This Inner Loop Header: Depth=1
> movq (%rdi), %rbx
> callq free
> testq %rbx, %rbx
> movq %rbx, %rdi
> jne .LBB0_1
> 全くスタックは消費していない。rdiがfree_lへの引数(p), rbxがnextだな。
>
> せっかく↓警告しといてあげたのにね。
> > バカのいいがかりなんて所詮この程度の事。 バカには意味わからないだろうけどな。www
203デフォルトの名無しさん
2013/02/16(土) 19:03:00.89 KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
204デフォルトの名無しさん
2013/02/16(土) 19:08:19.54 自作自演を誇らしげに語られても。
205デフォルトの名無しさん
2013/02/16(土) 19:16:41.30 アスペ顔のデブくさお再来か
206デフォルトの名無しさん
2013/02/16(土) 19:18:26.84 解放処理で不具合が出たり処理食われるから解放処理は用意しないという論調だけど
この人は全ての解放処理を書かないつもりなのか?
終了直前以外は必要に応じて書くなら結局用意しないといけないと思うんだけど
この人は全ての解放処理を書かないつもりなのか?
終了直前以外は必要に応じて書くなら結局用意しないといけないと思うんだけど
207デフォルトの名無しさん
2013/02/16(土) 20:58:22.35 >>206
別にバグが混入するからって言うのが主目的じゃないよ。
ただ、無駄だから。
なんで無駄だといけないの ?
と問われると、まぁ、無駄な処理を記述するとバグが入る可能性が
増えるし....となる。
無駄なごみを書いたっていいじゃんって言われればそうなんだけど、
他人に強制しないでね。
> この人は全ての解放処理を書かないつもりなのか?
必要な解放処理はもちろん書くし、使うよ。
> 終了直前以外は必要に応じて書くなら結局用意しないといけないと思うんだけど
まず、本質的にプロセスと寿命が等しいオブジェクトというのが存在する。
この場合、オブジェクト(のメモリ)の解放ということは起こりえないので
解放処理を記述することはない。
次に、別に解放処理を書いたからといって使わなければならないということはない。
例えば、イメージデータを保持する領域なんかは、イメージの削除処理などで
解放処理が利用されるが、別にプログラムの終了のときに解放処理を行う必要は
ない。
別にバグが混入するからって言うのが主目的じゃないよ。
ただ、無駄だから。
なんで無駄だといけないの ?
と問われると、まぁ、無駄な処理を記述するとバグが入る可能性が
増えるし....となる。
無駄なごみを書いたっていいじゃんって言われればそうなんだけど、
他人に強制しないでね。
> この人は全ての解放処理を書かないつもりなのか?
必要な解放処理はもちろん書くし、使うよ。
> 終了直前以外は必要に応じて書くなら結局用意しないといけないと思うんだけど
まず、本質的にプロセスと寿命が等しいオブジェクトというのが存在する。
この場合、オブジェクト(のメモリ)の解放ということは起こりえないので
解放処理を記述することはない。
次に、別に解放処理を書いたからといって使わなければならないということはない。
例えば、イメージデータを保持する領域なんかは、イメージの削除処理などで
解放処理が利用されるが、別にプログラムの終了のときに解放処理を行う必要は
ない。
208デフォルトの名無しさん
2013/02/16(土) 21:33:01.38 >>207
だから解放処理が作れるとか作れないとか速いとか遅いとかはこのスレで論ずる事ではないよねという話
だから解放処理が作れるとか作れないとか速いとか遅いとかはこのスレで論ずる事ではないよねという話
209デフォルトの名無しさん
2013/02/16(土) 21:37:39.32 何を論じるの?
210デフォルトの名無しさん
2013/02/16(土) 22:02:26.79 >>207
> 必要な解放処理はもちろん書くし、使うよ。
これはfree必要派だな。結局free不要と言う奴なんていなかった
なんか、ごちゃごちゃもめてる様に見えたのは前提条件とか
例外的なケースのすり合わせが出来てないだけだったのか
> 必要な解放処理はもちろん書くし、使うよ。
これはfree必要派だな。結局free不要と言う奴なんていなかった
なんか、ごちゃごちゃもめてる様に見えたのは前提条件とか
例外的なケースのすり合わせが出来てないだけだったのか
211デフォルトの名無しさん
2013/02/16(土) 22:58:23.31212デフォルトの名無しさん
2013/02/16(土) 23:16:32.58 いかなる場合もfreeしないってのとじゃ話は別なわけだが。
つーか、数学のレベルでいえば、保育園レベルだなw free関数の使い道おしえてくれよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
つーか、数学のレベルでいえば、保育園レベルだなw free関数の使い道おしえてくれよwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
213デフォルトの名無しさん
2013/02/17(日) 00:12:34.88 > いかなる場合もfreeしないってのとじゃ話は別なわけだが。
そんな事はオレも含めて誰も一回も言っていないぞ。 www
爆笑ログさらされて壊れた? wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
そんな事はオレも含めて誰も一回も言っていないぞ。 www
爆笑ログさらされて壊れた? wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
214デフォルトの名無しさん
2013/02/17(日) 00:17:34.29 まあ、free関数の使い道が提示できないだけでおまえの圧倒的敗北が確定なわけだが。
215デフォルトの名無しさん
2013/02/17(日) 00:50:36.98 >>187
とっくに出しているが。英語は読めないか。さすがバカ。 wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
とっくに出しているが。英語は読めないか。さすがバカ。 wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
216デフォルトの名無しさん
2013/02/17(日) 01:04:13.26 バカにされたくさお発狂中age
217デフォルトの名無しさん
2013/02/17(日) 01:31:10.56 何度みても笑える。wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
218デフォルトの名無しさん
2013/02/17(日) 03:47:01.93 こいつ誰と戦ってんだ
219デフォルトの名無しさん
2013/02/17(日) 09:32:46.14 プログラマーって寂しい奴ばっかなの?
220デフォルトの名無しさん
2013/02/17(日) 10:46:00.43 マだけにはなりたくないよね
221デフォルトの名無しさん
2013/02/17(日) 12:01:52.97 >>217は特殊な人です。
一般的とは思わないでください。
一般的とは思わないでください。
222デフォルトの名無しさん
2013/02/17(日) 12:06:25.96 >>218
QZとだよ
QZとだよ
223デフォルトの名無しさん
2013/02/17(日) 12:08:00.33 >>218
戦いではない。バカを一方的になぶっているだけだ。wwww
戦いではない。バカを一方的になぶっているだけだ。wwww
224デフォルトの名無しさん
2013/02/17(日) 14:31:13.77 >>218
他人を納得させられるような議論ができなくて「俺以外全員バカ」モードに入った
他人を納得させられるような議論ができなくて「俺以外全員バカ」モードに入った
225デフォルトの名無しさん
2013/02/17(日) 14:32:54.62 >>223
泣いてるのお前一人だぞ
泣いてるのお前一人だぞ
226デフォルトの名無しさん
2013/02/17(日) 14:59:06.71 >>224-225
↓こんな醜態さらしてそんなに悔しい? バカなんだからだまってりゃよかったのに。 www
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
↓こんな醜態さらしてそんなに悔しい? バカなんだからだまってりゃよかったのに。 www
KKCのyou is a big fool man.に匹敵する爆笑ログの解説編 wwww
>>192
free必須バカの先頭をつっぱしるウンコQzが再帰で書いた事に言いがかりをつける
その後、末尾再帰に簡単に書き換えられる事に気づかずに粘着して煽る。
>>193
バカのうんこQzにもわかるように末尾再帰に書き直してやる。
>>195
末尾再帰を知らない前スレ一番のバカ、爆笑ログの主人公876が引っかかる。 wwww
>>200
勝利を確信して煽る。www
>>196
煽りに乗ってみる。ww
>>201
更なる勝利を確信したもよう。www
>>202
末尾再帰の種明かし。 wwww
そして、876は逃亡。 wwww
227デフォルトの名無しさん
2013/02/20(水) 21:35:05.54 ・・・
228デフォルトの名無しさん
2013/02/21(木) 03:43:09.19 おまえはfreeどころかmallocも使うなアホ
229デフォルトの名無しさん
2013/03/24(日) 16:40:22.40 実際、最大要素数さえ決めりゃmalloc使わなくても大概のデータ構造は作れるのよね
230デフォルトの名無しさん
2013/03/24(日) 16:47:10.01 大概の、じゃなくて、なんでも、だよ。
その代わりユーザーには何の理由もなく受け付けるデータ量の上限、みたいな制限が加えられる。
その代わりユーザーには何の理由もなく受け付けるデータ量の上限、みたいな制限が加えられる。
231デフォルトの名無しさん
2013/04/09(火) 12:16:59.06 どこかの関数で巨大なmalloc()をして、もうその関数では必要なくなってもfree()
しないでメモリが足りなくなるとかの危険性は?
もちろんfree()してもメモリが足りなくならないという保証はないけど、少なくとも
free()した領域は再利用される
しないでメモリが足りなくなるとかの危険性は?
もちろんfree()してもメモリが足りなくならないという保証はないけど、少なくとも
free()した領域は再利用される
232デフォルトの名無しさん
2013/04/09(火) 12:53:53.95 >>231
このスレは、そういう場合の話ではない
このスレは、そういう場合の話ではない
233デフォルトの名無しさん
2013/04/13(土) 22:17:23.81 >>232
スレタイくらい読めボケカス
スレタイくらい読めボケカス
234デフォルトの名無しさん
2013/04/14(日) 00:08:23.17 移植性とかいっても今時free必要なOSなんて無いから
235デフォルトの名無しさん
2013/04/14(日) 16:39:02.13 そもそも俺freeしないとどう困るか理解してないから
236デフォルトの名無しさん
2013/04/21(日) 19:36:14.85 困るまで free してはならない
237デフォルトの名無しさん
2013/04/22(月) 04:31:27.17 環境依存
MS-DOSは、シングルタスク。
プロテクトモードで実行中にメモリでエラーで終了…
メモリ不足でもはやエディタも起動できないとか
リセットボタンをおすしかない
MS-DOSは、シングルタスク。
プロテクトモードで実行中にメモリでエラーで終了…
メモリ不足でもはやエディタも起動できないとか
リセットボタンをおすしかない
238デフォルトの名無しさん
2013/04/23(火) 00:17:07.69 freeしない奴は糞してケツを拭かない食糞民族と同じ。
239デフォルトの名無しさん
2013/04/28(日) 02:47:36.83 なんてことだ、俺たちは「どうせ風呂入ればうんこ落ちるし風呂入る前にうんこ拭かなくていいよね」派と戦っていたのか・・・
240デフォルトの名無しさん
2013/06/05(水) 12:38:51.14 exitすればおk
241デフォルトの名無しさん
2013/06/07(金) 12:06:28.26 ループ構造が完全にないなら開放不要だろ。
蓄積するから問題なんだから。。
>free()した領域は再利用される
これメモリが分断されまくりの領域が本当に再利用されるのか?
蓄積するから問題なんだから。。
>free()した領域は再利用される
これメモリが分断されまくりの領域が本当に再利用されるのか?
242デフォルトの名無しさん
2013/06/07(金) 13:33:45.82 freeした時に隣が開いてれば一緒の領域にする、ぐらいは当然やってるよ。
仮にランダムにalloc/freeして、その結果「分断されまくり」になるというデータでもあるわけ?
仮にランダムにalloc/freeして、その結果「分断されまくり」になるというデータでもあるわけ?
243デフォルトの名無しさん
2013/06/07(金) 14:03:16.35 >>242
http://ja.wikipedia.org/wiki/Malloc
> IA-32アーキテクチャでのアロケータの実装には一般にヒープまたはデータセグメントが使用されている
> (セグメント方式)。 アロケータがメモリを確保するとき、ヒープに未使用領域がない場合はヒープを拡張
> することでメモリを確保する。
>
> ヒープ方式はフラグメンテーションという問題がある。どのようなメモリ確保方式でもヒープではフラグメン
> トが発生する。つまり、ヒープ上に飛び飛びに使用中領域と未使用領域が存在することになる。優秀な
> アロケータはヒープを拡張する前に未使用領域を再利用しようとする。しかし性能問題があるため、リア
> ルタイムシステムでは代わりに「メモリプール」という方式を使う必要がある(特定サイズのメモリブロック
> のプールを予め用意しておく方式)。
http://ja.wikipedia.org/wiki/Malloc
> IA-32アーキテクチャでのアロケータの実装には一般にヒープまたはデータセグメントが使用されている
> (セグメント方式)。 アロケータがメモリを確保するとき、ヒープに未使用領域がない場合はヒープを拡張
> することでメモリを確保する。
>
> ヒープ方式はフラグメンテーションという問題がある。どのようなメモリ確保方式でもヒープではフラグメン
> トが発生する。つまり、ヒープ上に飛び飛びに使用中領域と未使用領域が存在することになる。優秀な
> アロケータはヒープを拡張する前に未使用領域を再利用しようとする。しかし性能問題があるため、リア
> ルタイムシステムでは代わりに「メモリプール」という方式を使う必要がある(特定サイズのメモリブロック
> のプールを予め用意しておく方式)。
244デフォルトの名無しさん
2013/06/07(金) 15:07:51.77 「 IA-32アーキテクチャでの」なんていう無意味な修飾を先頭に付けてる時点で、その執筆者は全く信用できない。
245デフォルトの名無しさん
2013/06/07(金) 15:33:53.68 >>244
君が信頼できる内容に書き換えてもいいんだよ
君が信頼できる内容に書き換えてもいいんだよ
246デフォルトの名無しさん
2013/06/07(金) 18:12:08.82 mallocも実装したことないやつが語ってんのかよ。
アーキテクチャにほぼ関係ないだろ。Cで実装できるだし。
なにが君が信頼できる内容に書き換えてもいいんだよだアホが。
アーキテクチャにほぼ関係ないだろ。Cで実装できるだし。
なにが君が信頼できる内容に書き換えてもいいんだよだアホが。
247デフォルトの名無しさん
2013/06/07(金) 18:16:11.80248デフォルトの名無しさん
2013/06/07(金) 18:25:52.26 だからfreeしないのか?w
どんな実装でもメモリ不足でぶっとぶわアホ。
freeしろ。
どんな実装でもメモリ不足でぶっとぶわアホ。
freeしろ。
249デフォルトの名無しさん
2013/06/07(金) 18:32:07.16 > フラグメントするmallocを使ってる人が多数いるってことに気づけ
具体的にどのプラットフォームのlibcがそうなっているのか言ってみろよ。
多数ってもしかして、1, 2, たくさん、って意味かw
具体的にどのプラットフォームのlibcがそうなっているのか言ってみろよ。
多数ってもしかして、1, 2, たくさん、って意味かw
250デフォルトの名無しさん
2013/06/07(金) 18:39:12.06251デフォルトの名無しさん
2013/06/07(金) 19:20:14.08 「俺様用語で定義するところのフラグメント」について語ってるなコイツw
252デフォルトの名無しさん
2013/06/07(金) 19:27:28.26 mallocは使い方を誤るとフラグメントが起きるから、
なるべく起きないようプログラムを設計すべきだな。
なるべく起きないようプログラムを設計すべきだな。
253デフォルトの名無しさん
2013/06/07(金) 22:13:39.69254デフォルトの名無しさん
2013/06/07(金) 23:19:40.35 恥ずかしすぎる
255デフォルトの名無しさん
2013/06/08(土) 00:01:45.59 mallocの実装もできないようなゴミはgnucとかつかってんじゃねーよ。
glibc使ってるようなザコは、1度mallocで大量メモリ確保したあと自作のmallocで管理しろ。
glibc使ってるようなザコは、1度mallocで大量メモリ確保したあと自作のmallocで管理しろ。
256デフォルトの名無しさん
2013/06/08(土) 10:15:22.94257デフォルトの名無しさん
2013/06/08(土) 13:13:50.33 >>255
真のザコw
真のザコw
258デフォルトの名無しさん
2013/06/10(月) 09:36:45.07 おれはループの中に含まれないmallocはfreeしなくてもいいと思うよ
259デフォルトの名無しさん
2013/06/10(月) 21:51:08.78 でも、free() しようと思えばできるけど、いちいち書くのはめんどくさいていう立場でしょう?
260デフォルトの名無しさん
2013/06/10(月) 22:10:56.15 freeして害になることは何一つない
freeしなくて良い条件を必死で探して屁理屈を垂れ流すのは、
1円安く物を買うために10km先まで行くようなもの
つまり、視野狭窄馬鹿の自己満足に過ぎない
freeしなくて良い条件を必死で探して屁理屈を垂れ流すのは、
1円安く物を買うために10km先まで行くようなもの
つまり、視野狭窄馬鹿の自己満足に過ぎない
261デフォルトの名無しさん
2013/06/10(月) 22:12:32.75 必死だな
262デフォルトの名無しさん
2013/06/10(月) 22:19:01.91263デフォルトの名無しさん
2013/06/11(火) 00:04:55.16264デフォルトの名無しさん
2013/06/11(火) 10:36:17.87265デフォルトの名無しさん
2013/06/11(火) 11:04:20.06 ただfreeするだけならともかく、構造体の中にポインタがあってそれを全部たどってると、
スラッシング起こすアプリとか、実際あるね。
スラッシング起こすアプリとか、実際あるね。
266デフォルトの名無しさん
2013/06/11(火) 12:40:03.49 そういうプログラムは通常実行中も論外なのでは。
267デフォルトの名無しさん
2013/06/11(火) 12:41:14.78 mainからreturnの前のfreeは、自己満足に過ぎないよね
268デフォルトの名無しさん
2013/06/11(火) 14:22:12.07 >>266
実行中は仮想空間を食い潰してしまわないためにはfreeせざるをえないかもしれない。
Oracle JVM みたいにメモリ使用量を指定できるなら、それ使って実メモリのサイズに
抑えておくのが常道。
実行中は仮想空間を食い潰してしまわないためにはfreeせざるをえないかもしれない。
Oracle JVM みたいにメモリ使用量を指定できるなら、それ使って実メモリのサイズに
抑えておくのが常道。
269デフォルトの名無しさん
2013/06/11(火) 21:45:13.42 >>266
まあ、必死に考えた無理矢理の例なので、暖かい目で見てやってください。
まあ、必死に考えた無理矢理の例なので、暖かい目で見てやってください。
270デフォルトの名無しさん
2013/06/11(火) 22:09:58.38 具体的に反論できない人を生温かく見守るスレでつねw
271デフォルトの名無しさん
2013/06/11(火) 22:12:40.96 なら、具体例出してみなよ (w
272デフォルトの名無しさん
2013/06/12(水) 13:34:50.19 不定量だが必ず確保される。
プログラム終了まで必要。
以上の場合はfreeしないかもね。
単なる手抜き以上の理由は無いが。
プログラム終了まで必要。
以上の場合はfreeしないかもね。
単なる手抜き以上の理由は無いが。
273デフォルトの名無しさん
2013/06/12(水) 13:37:12.12 コンパイラみたいに1回走って終わりのプログラムなら、いらんよ。
最初のほうの手続きで確保して、後のほうでも使う、とかいうデータだと、
malloc/freeの対応が簡単じゃなくなるし。
最初のほうの手続きで確保して、後のほうでも使う、とかいうデータだと、
malloc/freeの対応が簡単じゃなくなるし。
274デフォルトの名無しさん
2014/06/08(日) 19:18:18.10ID:y9fg5iny プロセスが終了したあとのメモリの開放って何かの規格に入ってんの?
275デフォルトの名無しさん
2014/06/08(日) 23:12:22.86ID:bkCTLeYU276デフォルトの名無しさん
2014/06/08(日) 23:20:13.12ID:0ybo3LG4 POSIXの場合、メモリはプロセスにひっついてるものだから、プロセスが消えたら消える。
メモリはいいけど、プロセス間通信のための資源とかで、プロセスとは独立に生存する
ものについてはダメだから、注意する必要があるね。
メモリはいいけど、プロセス間通信のための資源とかで、プロセスとは独立に生存する
ものについてはダメだから、注意する必要があるね。
277デフォルトの名無しさん
2014/06/09(月) 17:59:41.28ID:zFo/cDF8 >プロセス間通信のための資源とか
参照カウンタ見て上手くやってくれてるんじゃないの?
参照カウンタ見て上手くやってくれてるんじゃないの?
278デフォルトの名無しさん
2014/06/09(月) 22:41:25.12ID:0wp3BeLp man ipcrm
279デフォルトの名無しさん
2014/06/29(日) 22:57:20.87ID:7osONbHL mainだって普通の関数なんだから、プロセス起動時以外にもコード中で呼び出される可能性はある
つまりmainからreturnした直後にプログラムが終了してOSがメモリ回収するとは限らない
つまりmainからreturnした直後にプログラムが終了してOSがメモリ回収するとは限らない
280デフォルトの名無しさん
2014/06/30(月) 00:10:01.85ID:DSrnNHZo 重箱の隅つつくと普通ではないな。return省略していいっていう特別扱い
281デフォルトの名無しさん
2014/06/30(月) 09:54:32.09ID:lJxnkRTG (暗黙的なスタートアップから以外の)main()の呼び出しは未定義じゃなかったっけ?
282デフォルトの名無しさん
2014/06/30(月) 11:46:32.05ID:9KK/EJtO C++では明確に禁止。
Cでも、ふつうはやらないほうがいい。
そして、いずれにしろプロセスが終了すればプロセスが持っていた資源はOSが回収するので、
>>279 の言っていることは屁理屈にすらなっていない。
Cでも、ふつうはやらないほうがいい。
そして、いずれにしろプロセスが終了すればプロセスが持っていた資源はOSが回収するので、
>>279 の言っていることは屁理屈にすらなっていない。
283デフォルトの名無しさん
2014/06/30(月) 22:02:19.05ID:Jqyj17b9 なんか意味があるかって言われると何も言えないけど、
確かにCだとmain()を呼ぶことはできるんだね。
ttps://ideone.com/hII5Pp
確かにCだとmain()を呼ぶことはできるんだね。
ttps://ideone.com/hII5Pp
284デフォルトの名無しさん
2014/06/30(月) 22:05:05.58ID:9KK/EJtO コードゴルフでループを書くよりもmainを再帰で呼ぶほうが短くなる、という技がある
285デフォルトの名無しさん
2014/06/30(月) 22:07:48.77ID:Jqyj17b9286デフォルトの名無しさん
2014/07/07(月) 21:15:24.61ID:KBtb6NQy 要約すると、メモリーが貴重な時代は終わった。終了が早いのが正義。freeいらね。
287デフォルトの名無しさん
2014/07/23(水) 06:53:50.72ID:aSrmdrCP288デフォルトの名無しさん
2014/07/24(木) 07:55:56.40ID:vS77S6P+ うん。言語では保証されてないね。
OS無しの環境を使ってるならね。
OS無しの環境を使ってるならね。
289デフォルトの名無しさん
2014/07/24(木) 21:52:53.95ID:rO5lcI/m hosted environment なら保証されてなかったっけ?
290デフォルトの名無しさん
2014/09/27(土) 01:05:41.54ID:ZCazcpui 例外的にfreeを使わないのが正しい判断でそうしてる場合であっても、freeを記述した
上でコメントアウトしておくとか、条件コンパイルでfreeを有効にも無効にも切り替え
られるようにしとかないと、まともなコードとして信用はできないな。
上でコメントアウトしておくとか、条件コンパイルでfreeを有効にも無効にも切り替え
られるようにしとかないと、まともなコードとして信用はできないな。
291デフォルトの名無しさん
2014/09/27(土) 01:46:12.43ID:z3mF+ujQ ちゃんと free() できないくせに「free() を省略している」と主張するとか、面の皮が厚いですね
292デフォルトの名無しさん
2014/09/27(土) 09:52:04.78ID:lv9b6q1l LinuxはOSが完璧だからFreeの必要がないが、Windowsはバグが多いので
必ずFreeしなければならないと犬板で言ってた。
必ずFreeしなければならないと犬板で言ってた。
293デフォルトの名無しさん
2014/09/27(土) 10:27:03.26ID:2YkqVza8 >>292
Windows にバグが多いかどうかは別にして、必ず free すればいいと思ってる犬板の奴はアホとしか思えない
Windows にバグが多いかどうかは別にして、必ず free すればいいと思ってる犬板の奴はアホとしか思えない
294デフォルトの名無しさん
2014/09/27(土) 11:23:46.58ID:XmLrUZPb エプロンおねえさん以上の知能の持ち主がなにかおしゃってますね
295デフォルトの名無しさん
2014/09/27(土) 14:31:25.00ID:lJpImKEe Windowsで注意が必要なのはリソースとかで、
Linuxでも複数プロセスが共有する名前付きの資源とかは注意しなけりゃならんことに
変わりはない。
Linuxでも複数プロセスが共有する名前付きの資源とかは注意しなけりゃならんことに
変わりはない。
296デフォルトの名無しさん
2014/09/27(土) 14:42:06.10ID:2hDhGVr5 free()すらめんどくさがるやつはプログラミングすんな
以上
以上
297デフォルトの名無しさん
2014/09/27(土) 14:54:47.52ID:0IvxL3Y7298デフォルトの名無しさん
2014/09/27(土) 16:09:33.54ID:XmLrUZPb メモリの確保と開放がちぐはぐでバギーなことしたいならご自由に
299デフォルトの名無しさん
2014/09/27(土) 17:14:03.74ID:lJpImKEe ちぐはぐにしないために、許容可能な場合は「freeしない」というポリシーを決めるわけです。
まったく何もわかってないバカということを露呈していただいてありがとう御座います。
一生そのレベルのバカでいてくださいね。使い物にならないプログラマが増えて爆死してけば、
使えるプログラマの給料が上がりますのでw
まったく何もわかってないバカということを露呈していただいてありがとう御座います。
一生そのレベルのバカでいてくださいね。使い物にならないプログラマが増えて爆死してけば、
使えるプログラマの給料が上がりますのでw
300デフォルトの名無しさん
2014/09/27(土) 17:15:50.18ID:XmLrUZPb 乙女のポリシーかなんかですか?
301デフォルトの名無しさん
2014/09/27(土) 17:42:35.54ID:BQj/liI5 ポリシーって書ける俺かっけーって奴でしょ w
302デフォルトの名無しさん
2014/09/27(土) 17:48:52.13ID:lJpImKEe 流石バカ
303デフォルトの名無しさん
2014/09/27(土) 17:50:51.69ID:DE3jcZJu freeしないのは自由だし、必要ない場面があるのも確かだけど、イチイチそんな事例を列挙してポリシー()化する程のメリットがない
304デフォルトの名無しさん
2014/09/27(土) 17:51:04.65ID:kqLVip0H freeが省略可能かどうか、事前あるいは局所的に判断できるようなあまり一般的ではない
ケースのためにわざわざ妙なポリシーを設定するのはセンス無いと思う。
あるいは、何か変更する毎に「前にここで省略したfreeがまた必要になってないか」って
気にしながらプログラミングするんだろうか。
ケースのためにわざわざ妙なポリシーを設定するのはセンス無いと思う。
あるいは、何か変更する毎に「前にここで省略したfreeがまた必要になってないか」って
気にしながらプログラミングするんだろうか。
305デフォルトの名無しさん
2014/09/27(土) 18:33:38.97ID:t2PIgPlE 許容可能な場合は〜
とか、ポリシーでもなんでもないだろ
どういう場合に許容可能とするかを書かないと意味がない
そのレベルの奴なので温かくスルーしてやりなよ w
とか、ポリシーでもなんでもないだろ
どういう場合に許容可能とするかを書かないと意味がない
そのレベルの奴なので温かくスルーしてやりなよ w
306デフォルトの名無しさん
2014/09/27(土) 19:02:44.41ID:lv9b6q1l >>297が言いたいのは、Linuxは糞速いのでプログラム内から解放すると一日たっても終了
しない解放処理が、システムに任せると1nsで終わるということだと思います。
前から思ってたけど、glibcって糞ですよね。
libc5サイコーってLinux板で言ってました。
しない解放処理が、システムに任せると1nsで終わるということだと思います。
前から思ってたけど、glibcって糞ですよね。
libc5サイコーってLinux板で言ってました。
307デフォルトの名無しさん
2014/09/27(土) 20:22:12.59ID:XmLrUZPb cp使って大量で大容量のバックアップする人いるんだ
へー
へー
308デフォルトの名無しさん
2014/09/27(土) 20:27:29.57ID:lv9b6q1l309デフォルトの名無しさん
2014/09/27(土) 20:38:54.53ID:lJpImKEe デーモン類みたいな動かしっぱなしにするプログラムで、どんどんメモリを確保して手放さなかったら
困るけど、コンパイラみたいにどうせすぐ終わるプログラムで、今時なら100Mぐらいに収まるとかなら
どうでもいいだろ。その程度の想像力も判断力も無い奴が「温かくスルー」とか、能天気でいいよなw
あと、直接freeするわけじゃないけど、GCのある言語で終了前にGCが走るような場合、確保しまくった
メモリ空間を全部なめて回るからスラッシングが起きてマシンが劇重になることがある。
そんな場合も、本当に解放すべきリソースがあるのでなければ、とっとと_exitしてしまえばいい。
困るけど、コンパイラみたいにどうせすぐ終わるプログラムで、今時なら100Mぐらいに収まるとかなら
どうでもいいだろ。その程度の想像力も判断力も無い奴が「温かくスルー」とか、能天気でいいよなw
あと、直接freeするわけじゃないけど、GCのある言語で終了前にGCが走るような場合、確保しまくった
メモリ空間を全部なめて回るからスラッシングが起きてマシンが劇重になることがある。
そんな場合も、本当に解放すべきリソースがあるのでなければ、とっとと_exitしてしまえばいい。
310デフォルトの名無しさん
2014/09/27(土) 20:47:14.49ID:M7lcZRBS 必要かどうかを判断したり適切かどうかをチェックしたりする人的コストがムダ
311デフォルトの名無しさん
2014/09/27(土) 21:05:07.76ID:y/Ez5wR8 スマートポインタ作ればいいだけやで
312デフォルトの名無しさん
2014/09/27(土) 22:19:47.14ID:Jgs7UTKm ぼくが書くような小規模のプログラムはfreeが必要なほどメモリ食わない
そしてメモリを逼迫するまえにプログラム自体が終了する
いつもfree書くけど書き忘れてもあんしん!!
そしてメモリを逼迫するまえにプログラム自体が終了する
いつもfree書くけど書き忘れてもあんしん!!
313デフォルトの名無しさん
2014/09/27(土) 22:35:10.84ID:lv9b6q1l bashがfreeしないくらいだから、必要ないんじゃない?
314デフォルトの名無しさん
2014/09/27(土) 22:45:58.39ID:2YkqVza8315デフォルトの名無しさん
2014/09/27(土) 22:48:39.13ID:dBgfCEST 今どきのOSではプロセス殺せば
ヒープなんて勝手に開放されるから
リソースのなかではある意味一番
リークしてもダメージの少ない
類いではあるよね
ヒープ以外のリソース開放には無力どころか
RAIIがしにくくなる分害悪にすらなる
GC付言語がこうまで持て囃されている
現実は不思議すぎる
ヒープなんて勝手に開放されるから
リソースのなかではある意味一番
リークしてもダメージの少ない
類いではあるよね
ヒープ以外のリソース開放には無力どころか
RAIIがしにくくなる分害悪にすらなる
GC付言語がこうまで持て囃されている
現実は不思議すぎる
316デフォルトの名無しさん
2014/09/28(日) 01:10:09.70ID:sHyLw6pq > 能天気乙 w
極端な話、メモリが100M越えたら強制終了でも構わないアプリ、なんてのもいくらでも考えられるが、
そういうのも全部「能天気乙 w」って攻撃するんだなw
ただのバカだった、で終了。
極端な話、メモリが100M越えたら強制終了でも構わないアプリ、なんてのもいくらでも考えられるが、
そういうのも全部「能天気乙 w」って攻撃するんだなw
ただのバカだった、で終了。
317デフォルトの名無しさん
2014/09/28(日) 02:36:06.63ID:ri3k0THz >>299
「許容可能な場合は」←これ省略する馬鹿が居るからfreeしろって言われるんだよ。
>>303-304
開放処理が負荷になるケースのためにexit用の開放処理を一式再実装するとか、
通常の開放処理の中でexit確定フラグ見て開放処理をスキップするとか…面倒くさいね。
開放処理の負荷がヤバイことになるってケースが想定されない限りやりたくねぇわ。
>>309
cpの開放処理コストも普通に使う分には「どうでもいいだろ。」って言われそうやね。
>>315
徐々にリークが増えてく場合、仮想メモリ空間なりスワップ領域なり食いつぶして死ぬ。
ていうかオブジェクト開放時にリソースも開放する設計にしとけばリソースも回収できる。
GCは俺も余り好きじゃないが、GCがメモリだけ回収してリソース回収しないって認識は流石に…
「許容可能な場合は」←これ省略する馬鹿が居るからfreeしろって言われるんだよ。
>>303-304
開放処理が負荷になるケースのためにexit用の開放処理を一式再実装するとか、
通常の開放処理の中でexit確定フラグ見て開放処理をスキップするとか…面倒くさいね。
開放処理の負荷がヤバイことになるってケースが想定されない限りやりたくねぇわ。
>>309
cpの開放処理コストも普通に使う分には「どうでもいいだろ。」って言われそうやね。
>>315
徐々にリークが増えてく場合、仮想メモリ空間なりスワップ領域なり食いつぶして死ぬ。
ていうかオブジェクト開放時にリソースも開放する設計にしとけばリソースも回収できる。
GCは俺も余り好きじゃないが、GCがメモリだけ回収してリソース回収しないって認識は流石に…
318デフォルトの名無しさん
2014/09/28(日) 02:56:51.92ID:MgcGxJig >>317
そりゃ、プログラム終了までに開放すれば良いような、ヒープみたいなリソースなら良いけど、ファイルにしろDBにしろ他のプロセスなどと共用するリソースは、必要なくなったら即時開放が必須だろう。
そりゃ、プログラム終了までに開放すれば良いような、ヒープみたいなリソースなら良いけど、ファイルにしろDBにしろ他のプロセスなどと共用するリソースは、必要なくなったら即時開放が必須だろう。
319デフォルトの名無しさん
2014/09/28(日) 07:40:32.09ID:YI897KP6 今の時代だとGC搭載のプログラムで動かしまくってるからなぁ
メモリなんてほぼ無限
Cのような言語で組まれたものならfreeしなくても大差ないくらいだよなぁ
でも入れるけど
メモリなんてほぼ無限
Cのような言語で組まれたものならfreeしなくても大差ないくらいだよなぁ
でも入れるけど
320デフォルトの名無しさん
2014/09/28(日) 08:12:04.95ID:fth8YQlj >>316
ただのバカ乙 w
ただのバカ乙 w
321デフォルトの名無しさん
2014/09/28(日) 10:18:03.79ID:sfiCrzAs > ていうかオブジェクト開放時にリソースも開放する設計にしとけばリソースも回収できる。
> GCは俺も余り好きじゃないが、GCがメモリだけ回収してリソース回収しないって認識は流石に…
↑ こいつ最高のバカ
メモリの使用状況をトリガーとするGCでメモリ以外のリソースも管理するとか。死ねゴミクズ。
> GCは俺も余り好きじゃないが、GCがメモリだけ回収してリソース回収しないって認識は流石に…
↑ こいつ最高のバカ
メモリの使用状況をトリガーとするGCでメモリ以外のリソースも管理するとか。死ねゴミクズ。
322デフォルトの名無しさん
2014/09/28(日) 11:05:15.19ID:yTX/1oq/ >>309
win31時代の話をされても
win31時代の話をされても
323デフォルトの名無しさん
2014/09/28(日) 11:07:23.91ID:yTX/1oq/324デフォルトの名無しさん
2014/09/28(日) 11:08:13.02ID:57+mjdrX メモリリークもゴミみたい思える大きさだから、freeしなくてもいいって?
325デフォルトの名無しさん
2014/09/28(日) 11:12:12.60ID:yTX/1oq/ リークを定義できない人間がfree()不要論を朗誦しているんですよ
326デフォルトの名無しさん
2014/09/28(日) 11:52:29.34ID:FAkptdZZ keep it simple stupid を誤解釈すると free不要になるのかも知れない
327デフォルトの名無しさん
2014/09/28(日) 11:56:57.44ID:WvBy1dAf レベル0: 常にfreeを書かない
レベル1: 常にfreeを書く
レベル2: 条件に合わせてfreeを省略すべきときだけ省略する
レベル1: 常にfreeを書く
レベル2: 条件に合わせてfreeを省略すべきときだけ省略する
328デフォルトの名無しさん
2014/09/28(日) 13:53:02.44ID:RpCDBRzc ま、この場合のkissは「常にfreeする」か「一切freeしない」のどちらかだろうな
ハイブリッドにするのは最適化に近いので、最後の手段としたい
ハイブリッドにするのは最適化に近いので、最後の手段としたい
329デフォルトの名無しさん
2014/09/28(日) 14:11:49.10ID:sHyLw6pq >>328 そんな単純なことすら理解できず教条的に「freeしろ」と叫ぶだけのバカが、
まだこんなに多いとわかった、ってのが収穫だな。
まだこんなに多いとわかった、ってのが収穫だな。
330デフォルトの名無しさん
2014/09/28(日) 15:07:03.68ID:RpgaQOqc ポリシー君乙 w
331デフォルトの名無しさん
2014/09/28(日) 16:34:11.76ID:yTX/1oq/ >>329
君、free() が不要な例と絶対に必要な例とをコードで示してくれないか?
君、free() が不要な例と絶対に必要な例とをコードで示してくれないか?
332デフォルトの名無しさん
2014/09/28(日) 17:17:57.68ID:57+mjdrX 楽(らく)したいだけの人だから、答えられ...
333デフォルトの名無しさん
2014/09/28(日) 17:24:58.28ID:SkMDQSso mallocしたら必ずfreeという決まりは手抜きだったってことですかね。
解放の必要性を吟味して決めなければならないという事でしょうか。
解放の必要性を吟味して決めなければならないという事でしょうか。
334デフォルトの名無しさん
2014/09/28(日) 17:26:58.87ID:SkMDQSso これはRAIIは原則禁止したほうが良い。
言語にGCを組み込むのは禁止したほうが良い。
こういったことでしょうかね。
言語にGCを組み込むのは禁止したほうが良い。
こういったことでしょうかね。
335デフォルトの名無しさん
2014/09/28(日) 17:28:24.15ID:sfiCrzAs freeしなくても良いか検討した上でfreeしないのだから、
ボンクラはガタガタ言うな。
と言うこと。
ボンクラはガタガタ言うな。
と言うこと。
336デフォルトの名無しさん
2014/09/28(日) 17:34:34.94ID:SkMDQSso 開放忘れは指摘するべきではないということですかね。
337デフォルトの名無しさん
2014/09/28(日) 17:37:26.24ID:57+mjdrX わからない(わかってない)人に
間違ってます
とか言うと怒りますから
言わないほうがいいでしょうね
間違ってます
とか言うと怒りますから
言わないほうがいいでしょうね
338デフォルトの名無しさん
2014/09/28(日) 19:08:55.44ID:SkMDQSso >>337
間違ってます。
間違ってます。
339デフォルトの名無しさん
2014/09/28(日) 19:30:37.85ID:lwUZotcA340デフォルトの名無しさん
2014/09/29(月) 00:58:09.40ID:3GxNQMYW >>337
それは真実だけど、そこを頑張らないと
それは真実だけど、そこを頑張らないと
341デフォルトの名無しさん
2014/09/29(月) 00:59:53.42ID:xSX/Gj/Z 社会性ないから無理
342デフォルトの名無しさん
2014/09/29(月) 07:47:22.78ID:wd4qvqdb343デフォルトの名無しさん
2014/09/30(火) 12:17:08.51ID:v0Hutm1t Windowsは必ずFreeしないとクラッシュすると犬板で言ってた。
データ消えて大変だったらしい。
データ消えて大変だったらしい。
344デフォルトの名無しさん
2014/09/30(火) 21:27:53.75ID:GBpQF1/L UNIXでは非rootはリソースを使い切れないとかあるし、
コミットチャージを使い切ると次にメモリ確保しようとした奴が失敗する(たいていはそいつが死ぬ)から、
まぁ分からんでもないけど……OOMで無差別殺人されてるLinuxのユーザがそれを言うかね?
コミットチャージを使い切ると次にメモリ確保しようとした奴が失敗する(たいていはそいつが死ぬ)から、
まぁ分からんでもないけど……OOMで無差別殺人されてるLinuxのユーザがそれを言うかね?
345デフォルトの名無しさん
2014/09/30(火) 22:12:00.11ID:N6uFkPfQ OOMキラーは一定のルールで重要なものを残すようになってるから
無差別殺人じゃないぞ。そんな基礎的なことも知らんのかね?
無差別殺人じゃないぞ。そんな基礎的なことも知らんのかね?
346デフォルトの名無しさん
2014/09/30(火) 23:27:55.38ID:j0qHbCkI そりゃ無差別殺人者だって本当に相手を選ばないことないからな
弱そうな奴とか、特定の人種とか
弱そうな奴とか、特定の人種とか
347デフォルトの名無しさん
2014/09/30(火) 23:57:18.37ID:Z3ryMPKI 殺されないように、プログラムの先頭でおまじないを唱えよう。
348デフォルトの名無しさん
2014/10/01(水) 13:45:52.76ID:n9ZGXeJV いや一番ため込んでる富豪を狙い撃ちするんじゃね
349デフォルトの名無しさん
2014/10/03(金) 11:53:06.51ID:8OTaypIY C heap is cheap
350デフォルトの名無しさん
2014/10/04(土) 09:03:51.86ID:X8tclADN C's heap is not cheap but smple..
351デフォルトの名無しさん
2014/10/04(土) 16:22:32.12ID:nRIrCQg7 freeしたいやつはして、したくないやつはしなければいい
それだけ
以上
終了
おつおつ
それだけ
以上
終了
おつおつ
352デフォルトの名無しさん
2014/10/04(土) 18:14:13.44ID:j+aw4iLv ちゃんと free( ) できない奴って、いつも最後はその結論だね w
353デフォルトの名無しさん
2014/10/04(土) 19:34:40.00ID:WpG7hkwu 教条主義者による断末魔の煽りって、いつもこうだよねw
354デフォルトの名無しさん
2014/10/04(土) 19:58:41.25ID:ugcUiR2p 挙げ句の果てに
system("ls -l ./prog"); えいっ
system("ls -l ./prog"); えいっ
355デフォルトの名無しさん
2014/10/04(土) 22:12:06.07ID:X8tclADN い、extern は要らない子ぉっ!!
356デフォルトの名無しさん
2014/10/04(土) 22:25:18.34ID:j+aw4iLv >>353
おうむ返ししかできなくて悔しいね w
おうむ返ししかできなくて悔しいね w
357デフォルトの名無しさん
2014/10/04(土) 22:57:28.17ID:WpG7hkwu ワンパターン・バカがそれを言うと趣があるな
358デフォルトの名無しさん
2014/10/04(土) 23:15:41.65ID:8UXXAPps ワンパターン・バカ = いつものおうむ返し w
359デフォルトの名無しさん
2014/10/04(土) 23:19:29.91ID:j+aw4iLv360デフォルトの名無しさん
2014/10/05(日) 00:25:31.58ID:FZuSwsnO 芸人の持ちネタにそこまで過敏にならなくても‥
361デフォルトの名無しさん
2014/10/05(日) 00:31:49.02ID:6amJApcn362デフォルトの名無しさん
2014/10/05(日) 07:09:36.34ID:fbEOqD5u 無限ループ乙
363デフォルトの名無しさん
2014/10/09(木) 18:57:30.60ID:vRdoCwIm364デフォルトの名無しさん
2014/10/09(木) 20:36:35.27ID:9/qS7Lgu おっけー
365デフォルトの名無しさん
2014/10/09(木) 20:53:58.60ID:tOThY/oR >>363
free/delete しないのなら自前のアロケータなんか要らないのでは?じゃんじゃん malloc() すればいいだけの話
free/delete しないのなら自前のアロケータなんか要らないのでは?じゃんじゃん malloc() すればいいだけの話
366デフォルトの名無しさん
2014/10/09(木) 23:16:03.38ID:vRdoCwIm せやな。
RAM512KBでも普通に動いてたしな、16GBも有ったら解放する必要あらへん。
知ってるか?
16GBは64億個の0と64億個の1が有るのや、合わせて128億個やで。
128億という数は、地球上に有るすべての砂の数より多いねんで。
こんなん使い切れるわけあらへんしな。
RAM512KBでも普通に動いてたしな、16GBも有ったら解放する必要あらへん。
知ってるか?
16GBは64億個の0と64億個の1が有るのや、合わせて128億個やで。
128億という数は、地球上に有るすべての砂の数より多いねんで。
こんなん使い切れるわけあらへんしな。
367デフォルトの名無しさん
2014/10/10(金) 00:31:13.03ID:sOr9aeNy 一人ではね。
368デフォルトの名無しさん
2014/10/10(金) 04:16:27.17ID:KCO91E8u 人間だけでも70億人以上いるらしいんだが
世界の砂ってそんなに少ないのか
世界の砂ってそんなに少ないのか
369デフォルトの名無しさん
2014/10/10(金) 07:42:18.41ID:JpN3UDQu てか、GCって駄目じゃね?
GCあってもメモリリーク問題解決してないやん
なら、最初から自分で管理するという教育をした方が良くね?
GCあってもメモリリーク問題解決してないやん
なら、最初から自分で管理するという教育をした方が良くね?
370デフォルトの名無しさん
2014/10/10(金) 08:11:32.03ID:Npcpt0Da freeしたいやつはして、したくないやつはしなければいい
それだけ
以上
終了
おつおつ
それだけ
以上
終了
おつおつ
371デフォルトの名無しさん
2014/10/10(金) 08:30:54.00ID:kwgAp7cQ >>368
冷静かつ的確な指摘すぎてワロタ
冷静かつ的確な指摘すぎてワロタ
372デフォルトの名無しさん
2014/10/10(金) 12:50:29.54ID:4Jxm1TDD373デフォルトの名無しさん
2014/10/10(金) 18:16:01.82ID:Xd6YjWLK そりゃ何を free() していいのか、何を free() しなくていいのか、わかっていないからね‥
374デフォルトの名無しさん
2014/10/11(土) 01:03:15.48ID:ZmK/zNnJ freeしない生き方を選択したとき、精神は解放されるんやで。
覚えとき。
覚えとき。
375デフォルトの名無しさん
2014/10/11(土) 06:58:25.56ID:BpoU1i8h376デフォルトの名無しさん
2014/10/11(土) 09:22:03.50ID:8nW7oHJ6 >>370
いやこれでまじで終了だろ
いやこれでまじで終了だろ
377デフォルトの名無しさん
2014/10/11(土) 09:33:07.63ID:Qk2dzUbv378デフォルトの名無しさん
2014/10/11(土) 09:42:45.54ID:/AOb9xWD クラスの中に放り込んで管理してるから、freeしたくなくても勝手にfreeされるんだが
379デフォルトの名無しさん
2014/10/11(土) 10:00:29.43ID:BpoU1i8h >>376
はいはい、終わりだからもう来るなよ
はいはい、終わりだからもう来るなよ
380デフォルトの名無しさん
2014/10/11(土) 11:44:11.01ID:8nW7oHJ6 >>379
おまえもなー
おまえもなー
381デフォルトの名無しさん
2014/10/11(土) 12:39:02.40ID:povbJtsL >>380
うざ、来るなって言われてるのに、free もできないバカはこれだから
うざ、来るなって言われてるのに、free もできないバカはこれだから
382デフォルトの名無しさん
2014/10/11(土) 13:20:27.24ID:oD37Hh5X おまえのようなバカが他で暴れないようにするためにこのスレがあるんだよw
383デフォルトの名無しさん
2014/10/11(土) 13:55:55.55ID:BpoU1i8h384デフォルトの名無しさん
2014/10/11(土) 16:47:40.65ID:8nW7oHJ6 (´・ω・`)
385デフォルトの名無しさん
2014/10/12(日) 14:14:14.69ID:n4H9xNXC ネバーエンディングストーリー♪
386デフォルトの名無しさん
2014/10/12(日) 14:29:10.77ID:sv4A2Uaz >>384
まだいたのかよ w
まだいたのかよ w
387デフォルトの名無しさん
2014/10/12(日) 14:33:27.20ID:HHh3+SMY388デフォルトの名無しさん
2014/10/12(日) 15:18:47.16ID:sv4A2Uaz389デフォルトの名無しさん
2014/10/12(日) 15:30:56.77ID:63mVogyM mallocの先にfreeしてみてはどうだろうか
390デフォルトの名無しさん
2014/10/12(日) 15:35:01.76ID:HHh3+SMY391デフォルトの名無しさん
2014/10/12(日) 15:46:26.73ID:yWo9u0cs freeできることの判断を局所化することはできるが、freeしなくても問題ないという
判断は大域的にならざるを得ない。あとはセンスの問題だ。
グローバル変数バンバン使って平気な人もいるしな。
判断は大域的にならざるを得ない。あとはセンスの問題だ。
グローバル変数バンバン使って平気な人もいるしな。
392デフォルトの名無しさん
2014/10/12(日) 16:02:22.91ID:sv4A2Uaz393デフォルトの名無しさん
2014/10/12(日) 16:04:41.38ID:HHh3+SMY >>392
ワロタw
ワロタw
394デフォルトの名無しさん
2014/10/13(月) 00:21:10.29ID:Kelszug8 free必須教の第一信徒はQz
395デフォルトの名無しさん
2014/10/13(月) 08:15:56.25ID:BlK6LuSG396デフォルトの名無しさん
2014/10/13(月) 08:39:15.72ID:qVWnI3+v RAID 6 ってつよいの?
397デフォルトの名無しさん
2014/10/13(月) 10:04:05.65ID:XwZMSYHG >>297 の事情はよくわかる、所詮 free() はプロセスがOSから取得したメモリブロックのなかでのつじつまあわせ
399デフォルトの名無しさん
2014/10/13(月) 10:49:30.16ID:7i+sJhXA400デフォルトの名無しさん
2014/10/13(月) 10:57:56.36ID:/QBpY+Db 必須派vs不要派 っていう対立が不毛だわな
ワザとやってるのかそれが分からないのか
必須派vs必須じゃあないだろう?派 ってだけだろ
ワザとやってるのかそれが分からないのか
必須派vs必須じゃあないだろう?派 ってだけだろ
401デフォルトの名無しさん
2014/10/13(月) 11:04:25.31ID:yDwfk/q+ いや逆じゃね。
現実的にはほぼ必須派と、常に要らない派との争いで
何故か常に要らない派が、分かっていて
freeしなくてもいいある意味特殊な例を
持ち出して、だからfreeは必要ないみたいに
無茶な論理を成り立たせようとしているだけ。
現実的にはほぼ必須派と、常に要らない派との争いで
何故か常に要らない派が、分かっていて
freeしなくてもいいある意味特殊な例を
持ち出して、だからfreeは必要ないみたいに
無茶な論理を成り立たせようとしているだけ。
402デフォルトの名無しさん
2014/10/13(月) 11:08:58.83ID:qVWnI3+v 不要であるという結論ならば必須派は無駄なことをしていることになる
だが
必要であるという結論ならば不要派がこれまで書いたプログラムがゴミとみなされる
ゆえに必死
だが
必要であるという結論ならば不要派がこれまで書いたプログラムがゴミとみなされる
ゆえに必死
403デフォルトの名無しさん
2014/10/13(月) 11:28:22.88ID:XwZMSYHG404デフォルトの名無しさん
2014/10/13(月) 11:30:56.35ID:BlK6LuSG そんなことより、小沢GOGO!チャイニーズ for see.の意味が分からん。
405デフォルトの名無しさん
2014/10/13(月) 11:58:25.05ID:AG4RYcUu >>401みたいな知能だと生きていくのも大変なんだろうな
406デフォルトの名無しさん
2014/10/13(月) 12:19:26.06ID:93elBZWE407デフォルトの名無しさん
2014/10/13(月) 12:24:50.21ID:XwZMSYHG >>406
書いてみなじゃなくて、教えて下さいだろ、池沼
書いてみなじゃなくて、教えて下さいだろ、池沼
408デフォルトの名無しさん
2014/10/13(月) 12:27:56.27ID:HMQ6z8sD409デフォルトの名無しさん
2014/10/13(月) 12:45:44.40ID:BlK6LuSG 4億3200万ファイル40TBをたかがメモリー10GBのUbuntuで、cp使ってコピー
しようという考えが、頭が悪いという以前に気が狂ってるんだよ。
「UNIXという考え方」などとのたまってそうだよな。
しようという考えが、頭が悪いという以前に気が狂ってるんだよ。
「UNIXという考え方」などとのたまってそうだよな。
410デフォルトの名無しさん
2014/10/13(月) 12:45:52.23ID:zxgBYiLP ヒープに空きを作りたいときに呼ぶ、たったそれだけのこと。
411デフォルトの名無しさん
2014/10/13(月) 12:49:47.31ID:7i+sJhXA >>407
いつもの書けない言い訳乙 w
いつもの書けない言い訳乙 w
412デフォルトの名無しさん
2014/10/13(月) 12:53:11.61ID:BlK6LuSG 空きを作りたい時を決定するのに時間がかかるから、こまめに開放する。
こういう事を書くと、「空きを作りたいときに、配列のサイズ調べるだけだろ?」
みたいなことを言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
こういう事を書くと、「空きを作りたいときに、配列のサイズ調べるだけだろ?」
みたいなことを言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
413デフォルトの名無しさん
2014/10/13(月) 13:03:24.91ID:HMQ6z8sD >>410
空きを作りたいときに破棄できるポインタが常に手元にあるわけじゃないだろうし。
まさかそこでまとめてfreeするために、freeせずに取っておいたポインタを渡すというのも
本末転倒だろうし。
それ以前にそもそも、コードのこの部分を実行するときは空きが必要だがこの部分では
必要ないと判断するのも大変そうだなぁ。さらに、必要なときに空きを作れるようにするには
結局freeするコードは記述しておかなくちゃならんわけだよね。
空きを作りたいときに破棄できるポインタが常に手元にあるわけじゃないだろうし。
まさかそこでまとめてfreeするために、freeせずに取っておいたポインタを渡すというのも
本末転倒だろうし。
それ以前にそもそも、コードのこの部分を実行するときは空きが必要だがこの部分では
必要ないと判断するのも大変そうだなぁ。さらに、必要なときに空きを作れるようにするには
結局freeするコードは記述しておかなくちゃならんわけだよね。
414デフォルトの名無しさん
2014/10/13(月) 13:10:03.92ID:KgL42j04 >>413
したいときに、つってるやん。
理由があってfree呼び出し遅延させたいならそうすればいいし、
とっとと片付けておきたいならすぐ呼び出せばいい。
呼びたきゃいつでも呼んでいいんやで? 望みどおりにすればいい。
したいときに、つってるやん。
理由があってfree呼び出し遅延させたいならそうすればいいし、
とっとと片付けておきたいならすぐ呼び出せばいい。
呼びたきゃいつでも呼んでいいんやで? 望みどおりにすればいい。
415デフォルトの名無しさん
2014/10/13(月) 13:25:54.46ID:BlK6LuSG416デフォルトの名無しさん
2014/10/13(月) 13:30:14.38ID:HMQ6z8sD 要は、一貫したルールはないけど好きなようにやらせろと。まぁ、それは自由だな。
417デフォルトの名無しさん
2014/10/13(月) 13:35:35.68ID:5jSvrI4w418デフォルトの名無しさん
2014/10/13(月) 13:39:26.77ID:BlK6LuSG WindowsのCRTはfreeするとOSがそのメモリを有効に使えるからな。
こういう事書くと、「仮想記憶云々」言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
こういう事書くと、「仮想記憶云々」言い出す奴が必ず出てくる。
もうアホすぎて話にならない。
419デフォルトの名無しさん
2014/10/13(月) 13:49:04.48ID:BlK6LuSG >>417
プログラミングしたことが無いとそう思うんだよ。
「空きを作りたいとき」なんて仕様化できない。
「メモリーの使用量が特定の数値以上になった場合、解放する」
これなら仕様化出来る。
ところが、特定の数値以上になっているかいつ調べるか?ということも
仕様化しないといけなくなる。
これはたいてい、「一定時間経過ごとに」あるいは「メモリー確保の時点で」
となるだろう。
このどちらもいけていない。
オブジェクトの生存期間が過ぎた時点で解放するのが一番いけてるプログラミングマナー。
プログラミングしたことが無いとそう思うんだよ。
「空きを作りたいとき」なんて仕様化できない。
「メモリーの使用量が特定の数値以上になった場合、解放する」
これなら仕様化出来る。
ところが、特定の数値以上になっているかいつ調べるか?ということも
仕様化しないといけなくなる。
これはたいてい、「一定時間経過ごとに」あるいは「メモリー確保の時点で」
となるだろう。
このどちらもいけていない。
オブジェクトの生存期間が過ぎた時点で解放するのが一番いけてるプログラミングマナー。
420デフォルトの名無しさん
2014/10/13(月) 13:57:39.07ID:HMQ6z8sD421デフォルトの名無しさん
2014/10/13(月) 14:02:09.69ID:BlK6LuSG したいときにするって、結局、メモリー確保の時点で使用量見て解放することになるんだよ。
なんで、これから計算を始めるときに、わざわざ仕事増やすのさ。
使わなくなった時点で解放するのがあらゆる面で効率良いんだよ。
なんで、これから計算を始めるときに、わざわざ仕事増やすのさ。
使わなくなった時点で解放するのがあらゆる面で効率良いんだよ。
422デフォルトの名無しさん
2014/10/13(月) 14:03:38.82ID:BlK6LuSG こまめに開放するっていうのも重要だよ。
まとめて一気に解放なんてしたら、ユーザーは処理のもたつきを感じ取るからね。
ホントアホばっかで話にならんわ。
まとめて一気に解放なんてしたら、ユーザーは処理のもたつきを感じ取るからね。
ホントアホばっかで話にならんわ。
423デフォルトの名無しさん
2014/10/13(月) 14:04:57.87ID:TJgILaGW424デフォルトの名無しさん
2014/10/13(月) 14:08:05.29ID:BlK6LuSG >>423
お前、江戸時代だったら切腹申し付けられてるぞ。
お前、江戸時代だったら切腹申し付けられてるぞ。
425デフォルトの名無しさん
2014/10/13(月) 14:14:40.53ID:xQhnOcQ3 >>409
プロセス終了時に無駄にfreeする実装では
メモリ10GBじゃ論外に遅いだけで、freeしない効率的な実装なら
普通に終了するよ?
つまりお前のような馬鹿には効率的なコードは書けないって話だね
プロセス終了時に無駄にfreeする実装では
メモリ10GBじゃ論外に遅いだけで、freeしない効率的な実装なら
普通に終了するよ?
つまりお前のような馬鹿には効率的なコードは書けないって話だね
426デフォルトの名無しさん
2014/10/13(月) 14:16:56.04ID:BlK6LuSG427デフォルトの名無しさん
2014/10/13(月) 14:19:29.20ID:BlK6LuSG 一つ耳寄りな情報を教えてやろう。
WikipediaのXMLアーカイブ。
Emacsでは開けないだろ?
途中で落ちてしまう。
大きすぎるからな。
ワードなら開けるんだこれが。
目から鱗だろ。
WikipediaのXMLアーカイブ。
Emacsでは開けないだろ?
途中で落ちてしまう。
大きすぎるからな。
ワードなら開けるんだこれが。
目から鱗だろ。
428デフォルトの名無しさん
2014/10/13(月) 14:50:19.38ID:jkBcuCq4429デフォルトの名無しさん
2014/10/13(月) 14:53:17.45ID:PPv6Llzm GC の惨状をみるとね‥世間ではあれをうまくいっている、と評価するようだが
430デフォルトの名無しさん
2014/10/13(月) 14:54:54.53ID:PPv6Llzm >>422
そうそうマークアンドスウィープなんかの弱点だね
そうそうマークアンドスウィープなんかの弱点だね
431デフォルトの名無しさん
2014/10/13(月) 15:33:08.72ID:2IfdctYm | ̄| ∧∧
|ニニ( ゚Д∩コ
|_|⊂ ノ
/ _0
(ノ
えっ…と、不毛な糞スレ
\はここかな…、と/
 ̄ ̄ ̄V ̄ ̄ ̄ ̄
∧∧ ∧∧
∩Д゚≡゚Д゚)| ̄|
ヽ |)ニニニ|
| |〜 |_|
∪∪
∧∧ ミ ドスッ おつおつ
( ) ___
/ つ 終了|
〜( /  ̄|| ̄
∪∪ || ε3
゙゙~゙~
|ニニ( ゚Д∩コ
|_|⊂ ノ
/ _0
(ノ
えっ…と、不毛な糞スレ
\はここかな…、と/
 ̄ ̄ ̄V ̄ ̄ ̄ ̄
∧∧ ∧∧
∩Д゚≡゚Д゚)| ̄|
ヽ |)ニニニ|
| |〜 |_|
∪∪
∧∧ ミ ドスッ おつおつ
( ) ___
/ つ 終了|
〜( /  ̄|| ̄
∪∪ || ε3
゙゙~゙~
432デフォルトの名無しさん
2014/10/13(月) 16:11:24.20ID:XwZMSYHG433デフォルトの名無しさん
2014/10/13(月) 16:16:53.59ID:BlK6LuSG GNU製品はホント糞だな。
434デフォルトの名無しさん
2014/10/13(月) 16:17:20.12ID:7i+sJhXA435デフォルトの名無しさん
2014/10/13(月) 16:23:42.16ID:BlK6LuSG436デフォルトの名無しさん
2014/10/13(月) 16:29:31.58ID:xQhnOcQ3 他人に答えを強制するくせに>>428には答えずに逃げる、と
437デフォルトの名無しさん
2014/10/13(月) 16:33:17.28ID:BlK6LuSG438デフォルトの名無しさん
2014/10/13(月) 17:13:00.13ID:HMQ6z8sD >>432
その判断は大域的にならざるを得ないわけだよな。
個々の処理がいつどのように呼ばれるか、さらにはそれより後で実行される処理で
新たなヒープメモリの確保がされるのか、等々、気にしないとならないわけだ。
なんとも前近代的な印象を受けるが。
その判断は大域的にならざるを得ないわけだよな。
個々の処理がいつどのように呼ばれるか、さらにはそれより後で実行される処理で
新たなヒープメモリの確保がされるのか、等々、気にしないとならないわけだ。
なんとも前近代的な印象を受けるが。
439デフォルトの名無しさん
2014/10/13(月) 17:36:51.42ID:Okyxmr/t440デフォルトの名無しさん
2014/10/13(月) 17:39:47.21ID:xQhnOcQ3 >>437
まさかの雑魚以下!?
まさかの雑魚以下!?
441デフォルトの名無しさん
2014/10/13(月) 17:57:02.26ID:XfBY1GST このスレまだあったんだ。
おっさん感激 !!
ところで、Free必須論者は
本質的に寿命がプログラムの寿命と同じオブジェクトが
あるということは認識してくれているのかな。
例えばさっきのcpのハッシュテーブルだったり、
コンパイラの構文木だったり
これらのオブジェクトが必要なくなるとき=プログラムが終了するとき
なんだけど、こんなかんじでfreeして開放された領域が2度と使われないことが
保障されているオブジェクトが存在するということは認識してくれている ?
おっさん感激 !!
ところで、Free必須論者は
本質的に寿命がプログラムの寿命と同じオブジェクトが
あるということは認識してくれているのかな。
例えばさっきのcpのハッシュテーブルだったり、
コンパイラの構文木だったり
これらのオブジェクトが必要なくなるとき=プログラムが終了するとき
なんだけど、こんなかんじでfreeして開放された領域が2度と使われないことが
保障されているオブジェクトが存在するということは認識してくれている ?
442デフォルトの名無しさん
2014/10/13(月) 18:06:04.38ID:7i+sJhXA443デフォルトの名無しさん
2014/10/13(月) 18:11:11.64ID:BlK6LuSG >>441
OSと協調できないのはglibcの欠陥だから、主にLinuxでのみ問題になるんだよね。
Linuxなんか使うからそういう事になるんだよ。
まともなランタイム使ってれば解放して大丈夫だよ。
ホントGNU製品って糞だよな。
糞を一般化して語るなって話。
OSと協調できないのはglibcの欠陥だから、主にLinuxでのみ問題になるんだよね。
Linuxなんか使うからそういう事になるんだよ。
まともなランタイム使ってれば解放して大丈夫だよ。
ホントGNU製品って糞だよな。
糞を一般化して語るなって話。
444デフォルトの名無しさん
2014/10/13(月) 18:15:57.06ID:BlK6LuSG445デフォルトの名無しさん
2014/10/13(月) 18:19:35.33ID:XwZMSYHG446441
2014/10/13(月) 18:24:11.09ID:XfBY1GST447デフォルトの名無しさん
2014/10/13(月) 18:27:48.36ID:7i+sJhXA448441
2014/10/13(月) 18:32:16.15ID:XfBY1GST >>443
オブジェクトの寿命 = プログラム(プロセス)の寿命
なオブジェクトが存在し、それはfreeをしても確保したメモリ領域が
再利用されることはない。
というのはご理解いただいているのですね。
オブジェクトの寿命 = プログラム(プロセス)の寿命
なオブジェクトが存在し、それはfreeをしても確保したメモリ領域が
再利用されることはない。
というのはご理解いただいているのですね。
449デフォルトの名無しさん
2014/10/13(月) 18:33:33.08ID:BlK6LuSG >>446
Linux特有の問題。
いまどきのランタイムはメモリを開放すると即座にOSに返す。
OSは適切に取り扱う。
ところがglibcはOSの機能を使えない。
ディスクに退避されたデータによってスラッシングが引き起こされる。
「だからfreeするべきではない」
↑これ間違い。
欠陥ランタイムを使うべきでないというのが正しい。
Linux特有の問題。
いまどきのランタイムはメモリを開放すると即座にOSに返す。
OSは適切に取り扱う。
ところがglibcはOSの機能を使えない。
ディスクに退避されたデータによってスラッシングが引き起こされる。
「だからfreeするべきではない」
↑これ間違い。
欠陥ランタイムを使うべきでないというのが正しい。
450デフォルトの名無しさん
2014/10/13(月) 18:36:40.23ID:PPv6Llzm >>441
>ところで、Free必須論者は
>本質的に寿命がプログラムの寿命と同じオブジェクトが
>あるということは認識してくれているのかな。
認識してます。
結局のところ C/C++ にしか関係ない些細なことなんです。他の言語はすでにこの手の話は自動化されていますし、うまくいっているとはいいませんが。
>ところで、Free必須論者は
>本質的に寿命がプログラムの寿命と同じオブジェクトが
>あるということは認識してくれているのかな。
認識してます。
結局のところ C/C++ にしか関係ない些細なことなんです。他の言語はすでにこの手の話は自動化されていますし、うまくいっているとはいいませんが。
451デフォルトの名無しさん
2014/10/13(月) 18:38:39.11ID:BlK6LuSG >>448
俺は、きちんとモジュール化するべきだと思うよ。
ハッシュテーブルを実装するなら、テーブルを削除する時点でメモリーも
解放する。
そして、他のプログラムでもそのハッシュテーブル実装を使えるようにする。
メモリーの開放が遅いのはglibcの欠陥。
欠陥品に合わせてすべてを台無しにする必要はない。
欠陥品を使わないことが大切。
まあ、こんな当たり前のことがわからないから雑魚なんですわ。
俺は、きちんとモジュール化するべきだと思うよ。
ハッシュテーブルを実装するなら、テーブルを削除する時点でメモリーも
解放する。
そして、他のプログラムでもそのハッシュテーブル実装を使えるようにする。
メモリーの開放が遅いのはglibcの欠陥。
欠陥品に合わせてすべてを台無しにする必要はない。
欠陥品を使わないことが大切。
まあ、こんな当たり前のことがわからないから雑魚なんですわ。
452デフォルトの名無しさん
2014/10/13(月) 18:39:27.83ID:PPv6Llzm453デフォルトの名無しさん
2014/10/13(月) 18:46:38.76ID:BlK6LuSG454デフォルトの名無しさん
2014/10/13(月) 18:46:52.49ID:7i+sJhXA >>448
そういうケースが存在することはわかってるが、わざわざそんなケースだけを特別扱いすべきとは思わない
測定してみて、本当に解放が問題になる場合に free をやめると言うならわかる
つまり、小手先の最適化と同じレベルの話
そういうケースが存在することはわかってるが、わざわざそんなケースだけを特別扱いすべきとは思わない
測定してみて、本当に解放が問題になる場合に free をやめると言うならわかる
つまり、小手先の最適化と同じレベルの話
455デフォルトの名無しさん
2014/10/13(月) 18:52:40.24ID:BlK6LuSG プログラムの再利用性、安全性を真剣に考えると、RAIIは有効な手法。
これに反対するのは雑魚。
Linuxを使わないことも大事。
Linuxはファイルのコピーすら満足にできないって>>297が述べてる。
これに反対するのは雑魚。
Linuxを使わないことも大事。
Linuxはファイルのコピーすら満足にできないって>>297が述べてる。
456デフォルトの名無しさん
2014/10/13(月) 18:59:10.36ID:MgPuSkFo >>297のケースで有効な解法はメモリプール
これがわからない奴は雑魚
これがわからない奴は雑魚
457デフォルトの名無しさん
2014/10/13(月) 19:06:21.99ID:MgPuSkFo458デフォルトの名無しさん
2014/10/13(月) 19:15:48.89ID:BlK6LuSG459448
2014/10/13(月) 19:19:27.66ID:XfBY1GST >>454
認識が確認できて幸いです。
わざわざそんなケースと言われるけど、
このようなケースは結構多いと思うんですよ。
普段使ってるgccもたぶんそうだし、
cpだってそう。
本質的に記憶領域の再利用がされないfreeをするために
循環参照があるリンクトリストを再帰で開放してまわったり
freeをするための1万回のループをわざわざ書くというのは
なんというか、知的ではないのではないかと
もちろん、ライブラリ化するために、解放処理を記述するのは
必要ですけど、例えばgccの構文木を保持するコードは
gcc以外に使えるとは思えないなぁ。
だから、専用に作ったんでしょ
認識が確認できて幸いです。
わざわざそんなケースと言われるけど、
このようなケースは結構多いと思うんですよ。
普段使ってるgccもたぶんそうだし、
cpだってそう。
本質的に記憶領域の再利用がされないfreeをするために
循環参照があるリンクトリストを再帰で開放してまわったり
freeをするための1万回のループをわざわざ書くというのは
なんというか、知的ではないのではないかと
もちろん、ライブラリ化するために、解放処理を記述するのは
必要ですけど、例えばgccの構文木を保持するコードは
gcc以外に使えるとは思えないなぁ。
だから、専用に作ったんでしょ
460デフォルトの名無しさん
2014/10/13(月) 19:24:40.28ID:PPv6Llzm 変な論法だね‥
「free()/delete してもしなくても状況に大きな変化はない。∴free()/delete しなくてよい。」
と理解していいのかな?
「free()/delete してもしなくても状況に大きな変化はない。∴free()/delete しなくてよい。」
と理解していいのかな?
461デフォルトの名無しさん
2014/10/13(月) 19:27:50.10ID:BlK6LuSG >>459
Linux界隈だとそれでいいんですけどね。
ctagsでインテリセンスより強いとか言ってればいい。
でも、いまどきの人は構文上の誤りは即座に指摘してほしいし、書く端から
補完が効いてほしいですよね。
すると、コンパイラの機能だと思われていたものすらエディタに組み込まれたりするわけですよ。
まあ、Linuxなんか使ってると20年前で時が止まっちゃうんですけどね。
世間ではそういうのを雑魚って言うんです。
Linux界隈だとそれでいいんですけどね。
ctagsでインテリセンスより強いとか言ってればいい。
でも、いまどきの人は構文上の誤りは即座に指摘してほしいし、書く端から
補完が効いてほしいですよね。
すると、コンパイラの機能だと思われていたものすらエディタに組み込まれたりするわけですよ。
まあ、Linuxなんか使ってると20年前で時が止まっちゃうんですけどね。
世間ではそういうのを雑魚って言うんです。
462デフォルトの名無しさん
2014/10/13(月) 19:32:32.92ID:XfBY1GST >>456
その解法がメモリープールというのは、
ハッシュテーブルの領域全体をmallocでとって来て
中身を自前のメモリ管理コードで管理して、
解放するときは全体をfree一発で解放ってことでしょうか ?
malloc-freeはsbrkやmmapで確保した領域を
管理するメモリプールだと考えられます。
ですので、再利用する見込みのない領域をわざわざfreeする必要は
ないんじゃないのって考え方は、
上記の大きな記憶領域を確保して、解放はfree一発というものと
同一になります。
その解法がメモリープールというのは、
ハッシュテーブルの領域全体をmallocでとって来て
中身を自前のメモリ管理コードで管理して、
解放するときは全体をfree一発で解放ってことでしょうか ?
malloc-freeはsbrkやmmapで確保した領域を
管理するメモリプールだと考えられます。
ですので、再利用する見込みのない領域をわざわざfreeする必要は
ないんじゃないのって考え方は、
上記の大きな記憶領域を確保して、解放はfree一発というものと
同一になります。
463デフォルトの名無しさん
2014/10/13(月) 19:36:18.84ID:xQhnOcQ3464デフォルトの名無しさん
2014/10/13(月) 19:39:14.34ID:BlK6LuSG465デフォルトの名無しさん
2014/10/13(月) 19:40:18.64ID:BlK6LuSG >>463
関係ないと思うなら、もう少し勉強しましょう。
関係ないと思うなら、もう少し勉強しましょう。
466デフォルトの名無しさん
2014/10/13(月) 19:43:33.90ID:7i+sJhXA >>459
> このようなケースは結構多いと思うんですよ。
自分が作るソフトもそうなの?
まあ、そうだとしても構文木を作成してる所以外でリークしない自信があるとか、リークしても気にしないと言うなら止めないよので、自由にやってくださいな。
> このようなケースは結構多いと思うんですよ。
自分が作るソフトもそうなの?
まあ、そうだとしても構文木を作成してる所以外でリークしない自信があるとか、リークしても気にしないと言うなら止めないよので、自由にやってくださいな。
467デフォルトの名無しさん
2014/10/13(月) 19:44:39.36ID:HMQ6z8sD >本質的に記憶領域の再利用がされないfreeをするために
>循環参照があるリンクトリストを再帰で開放してまわったり
>freeをするための1万回のループをわざわざ書くというのは
>なんというか、知的ではないのではないかと
リスト要素の構築と破棄を一回書けばそれが何万回呼ばれようと
同じだと思うんだが、それを「わざわざ」と言うのはどういうスタイルで
書いてんのか気になるな。
循環参照とか言っているところを見ると、fjのときも出てきたような
「作った本人が正しく破棄することができないデータ構造」とかかねぇ。
>循環参照があるリンクトリストを再帰で開放してまわったり
>freeをするための1万回のループをわざわざ書くというのは
>なんというか、知的ではないのではないかと
リスト要素の構築と破棄を一回書けばそれが何万回呼ばれようと
同じだと思うんだが、それを「わざわざ」と言うのはどういうスタイルで
書いてんのか気になるな。
循環参照とか言っているところを見ると、fjのときも出てきたような
「作った本人が正しく破棄することができないデータ構造」とかかねぇ。
468デフォルトの名無しさん
2014/10/13(月) 19:47:00.34ID:BlK6LuSG RAIIはおろかな考えというネタでもう一スレ作れそうな気がするな。
469デフォルトの名無しさん
2014/10/13(月) 20:12:51.45ID:xQhnOcQ3 >>467
> リスト要素の構築と破棄を一回書けばそれが何万回呼ばれようと
> 同じだと思うんだが、
パフォーマンス的には全然同じじゃないよ
コードの字面的に呼び出しが無かったら処理が存在しないとでも思ってるの?馬鹿?
> リスト要素の構築と破棄を一回書けばそれが何万回呼ばれようと
> 同じだと思うんだが、
パフォーマンス的には全然同じじゃないよ
コードの字面的に呼び出しが無かったら処理が存在しないとでも思ってるの?馬鹿?
470デフォルトの名無しさん
2014/10/13(月) 20:25:00.67ID:BlK6LuSG471デフォルトの名無しさん
2014/10/13(月) 20:36:14.64ID:FVrYA5zE リンクドリストの場合はmallocすら何回もするのがめんどくさいので、
ブロックで確保して破棄はブロックの数分だけでいいのでは?
ゲームでは常識。
ブロックで確保して破棄はブロックの数分だけでいいのでは?
ゲームでは常識。
472458
2014/10/13(月) 20:39:23.78ID:XfBY1GST >>467
わかりにくい書き方ですみません。
前半の部分は
http://www.slideshare.net/iwiwi/ss-11008471
の3ページの交通ネットワークを表すために
31ページみたいなグラフを作って、その解放コードを
ちまちま、解放することを考えています。
後半は、行列なんかを使った後に
for(i = 0; i < ROW_MAX; i++) {
free(row[i]);
}
free(row);
exit(0);
なんてことをやることを想定しています。
わかりにくい書き方ですみません。
前半の部分は
http://www.slideshare.net/iwiwi/ss-11008471
の3ページの交通ネットワークを表すために
31ページみたいなグラフを作って、その解放コードを
ちまちま、解放することを考えています。
後半は、行列なんかを使った後に
for(i = 0; i < ROW_MAX; i++) {
free(row[i]);
}
free(row);
exit(0);
なんてことをやることを想定しています。
473デフォルトの名無しさん
2014/10/13(月) 20:42:43.81ID:FVrYA5zE 行列は幅が変わらないので、W*Hで確保してW*y+xすれば何度も確保する必要ない。
474デフォルトの名無しさん
2014/10/13(月) 20:51:37.45ID:XwZMSYHG >>447
わからないから、教えて下さいだろ。池沼。
わからないから、教えて下さいだろ。池沼。
475デフォルトの名無しさん
2014/10/13(月) 21:03:25.09ID:7i+sJhXA476デフォルトの名無しさん
2014/10/13(月) 21:09:11.84ID:7i+sJhXA477デフォルトの名無しさん
2014/10/13(月) 21:09:16.45ID:HMQ6z8sD >>472
前者は、参照の所有権をちゃんと考えないで複雑なデータ構造を作っちゃうと
いざ壊そうと思ったときに嵌ったりバグったりする典型だね。
後者は、使い捨てのやっつけプログラムとかじゃなければ普通こんなコードが
exit()の直前に置かれることはないと思うし、そうであれば普通に破棄処理として
書くと思うんだけどなぁ。それを「わざわざ」と思うのはまぁ、個人の感覚かも知れんが。
#あぁ、rowもグローバル変数だったりするのかね?
前者は、参照の所有権をちゃんと考えないで複雑なデータ構造を作っちゃうと
いざ壊そうと思ったときに嵌ったりバグったりする典型だね。
後者は、使い捨てのやっつけプログラムとかじゃなければ普通こんなコードが
exit()の直前に置かれることはないと思うし、そうであれば普通に破棄処理として
書くと思うんだけどなぁ。それを「わざわざ」と思うのはまぁ、個人の感覚かも知れんが。
#あぁ、rowもグローバル変数だったりするのかね?
478デフォルトの名無しさん
2014/10/13(月) 21:23:47.22ID:QgIQdsn/479デフォルトの名無しさん
2014/10/13(月) 21:31:35.61ID:7i+sJhXA480デフォルトの名無しさん
2014/10/13(月) 21:47:30.33ID:QgIQdsn/481472
2014/10/13(月) 21:54:16.26ID:XfBY1GST >>477
> 前者は、参照の所有権をちゃんと考えないで複雑なデータ構造を作っちゃうと
> いざ壊そうと思ったときに嵌ったりバグったりする典型だね。
ですので、freeせずにOSの持つメモリ管理機構を利用して
exitですね。
freeするためにプログラムを作っているのではなく
データを扱うためにプログラムを作っているのですから。
メモリリークチェッカを使わなければならないとかで、絶対freeしろって
言われたらmyMallocとmyFreeを作って、全体をmallocして最後に
一発freeってやりたいです。
> 後者は、使い捨てのやっつけプログラムとかじゃなければ普通こんなコードが
> exit()の直前に置かれることはないと思うし、そうであれば普通に破棄処理として
> 書くと思うんだけどなぁ。それを「わざわざ」と思うのはまぁ、個人の感覚かも知れんが。
なにをもってやっつけのプログラムと言うかはさており、
cpは実際にexitの前にforgetAllって終了処理が
word2vec
http://word2vec.googlecode.com/svn/trunk/word2vec.c
ではvocab, vocab_hash, expTableは解放するならmainからのreturn
直前に記述することになりますね。
> #あぁ、rowもグローバル変数だったりするのかね?
あくまで、例のための例ですが、グローバルなときもあります。
# というか、そのほうがすっきりする。
> 前者は、参照の所有権をちゃんと考えないで複雑なデータ構造を作っちゃうと
> いざ壊そうと思ったときに嵌ったりバグったりする典型だね。
ですので、freeせずにOSの持つメモリ管理機構を利用して
exitですね。
freeするためにプログラムを作っているのではなく
データを扱うためにプログラムを作っているのですから。
メモリリークチェッカを使わなければならないとかで、絶対freeしろって
言われたらmyMallocとmyFreeを作って、全体をmallocして最後に
一発freeってやりたいです。
> 後者は、使い捨てのやっつけプログラムとかじゃなければ普通こんなコードが
> exit()の直前に置かれることはないと思うし、そうであれば普通に破棄処理として
> 書くと思うんだけどなぁ。それを「わざわざ」と思うのはまぁ、個人の感覚かも知れんが。
なにをもってやっつけのプログラムと言うかはさており、
cpは実際にexitの前にforgetAllって終了処理が
word2vec
http://word2vec.googlecode.com/svn/trunk/word2vec.c
ではvocab, vocab_hash, expTableは解放するならmainからのreturn
直前に記述することになりますね。
> #あぁ、rowもグローバル変数だったりするのかね?
あくまで、例のための例ですが、グローバルなときもあります。
# というか、そのほうがすっきりする。
482デフォルトの名無しさん
2014/10/13(月) 21:57:14.67ID:7i+sJhXA483デフォルトの名無しさん
2014/10/13(月) 22:05:33.55ID:QgIQdsn/ 速さよりも重要な事なんて無いよ。
金さえあればスパコンがほしいぐらい。
金さえあればスパコンがほしいぐらい。
484デフォルトの名無しさん
2014/10/13(月) 22:09:28.23ID:Okyxmr/t そーゆーレベルだとアルゴリズム工夫した方が早くならね?
485デフォルトの名無しさん
2014/10/13(月) 22:15:14.16ID:6bh+5rPK486デフォルトの名無しさん
2014/10/13(月) 22:17:23.60ID:Okyxmr/t >>483
マルチスレッド使っての高速化とかは無理?
マルチスレッド使っての高速化とかは無理?
487デフォルトの名無しさん
2014/10/13(月) 23:38:21.18ID:7i+sJhXA >>483 は素早く間違った結果が欲しいんだろう w
488デフォルトの名無しさん
2014/10/13(月) 23:41:05.25ID:xQhnOcQ3 >>470
いや、俺はお前みたいな馬鹿じゃないぞ
いや、俺はお前みたいな馬鹿じゃないぞ
489デフォルトの名無しさん
2014/10/13(月) 23:41:20.11ID:7i+sJhXA >>485
> 速さがどーしても欲しいってのはリアルタイムOSとかそういう分野なのかなぁ?
そういう分野は、速さと言うよりどんな場合でも決められた時間に間に合うこと(つまり、遅くならないこと)を要求される
ハードリアルアイム でググってみそ
> 速さがどーしても欲しいってのはリアルタイムOSとかそういう分野なのかなぁ?
そういう分野は、速さと言うよりどんな場合でも決められた時間に間に合うこと(つまり、遅くならないこと)を要求される
ハードリアルアイム でググってみそ
490デフォルトの名無しさん
2014/10/13(月) 23:42:12.91ID:2IfdctYm freeが必要だと思う人はしていただき、その必要性はないと思う人はしない
ということで各々ご対応をお願い致します。
それでは、ここらでお開きとさせていただきます。
皆様、活発な意見交換、誠にお疲れ様でございました。
ということで各々ご対応をお願い致します。
それでは、ここらでお開きとさせていただきます。
皆様、活発な意見交換、誠にお疲れ様でございました。
491デフォルトの名無しさん
2014/10/13(月) 23:50:17.84ID:7i+sJhXA492デフォルトの名無しさん
2014/10/14(火) 00:04:57.97ID:Q5F/7GsC >>491
おまえ、まだいたのかwwww
おまえ、まだいたのかwwww
493デフォルトの名無しさん
2014/10/14(火) 00:16:00.24ID:sqIDnjxe >>492
チキン君乙
チキン君乙
494デフォルトの名無しさん
2014/10/14(火) 00:17:04.09ID:Q5F/7GsC よく吠えるやつほど弱いのはどこでも同じだな
495デフォルトの名無しさん
2014/10/14(火) 01:48:42.60ID:QI+gLDOE >>475
わからないから、教えて下さいだろ。池沼。
わからないから、教えて下さいだろ。池沼。
496デフォルトの名無しさん
2014/10/14(火) 06:32:50.32ID:zT0VwE4n >>403
ネタ主張を1400レスも続けるとかヒッデェなぁ…
ネタ主張を1400レスも続けるとかヒッデェなぁ…
497デフォルトの名無しさん
2014/10/14(火) 06:34:31.53ID:sqIDnjxe498デフォルトの名無しさん
2014/10/14(火) 07:21:14.97ID:VoeXlFKz この問題の根は、ファイル名に日本語を使うべきでないや、メールタイトルに
日本語を使うべきでない、と同じです。
こういった問題について議論すると、必ず日本語を使うべきでないという結論に落ち着く。
しかし、本当の答えは、日本語が使えるべきです。
RAIIは多くの問題を論理的に解消できるので、常に使えるようにするべきです。
LinuxでRAIIが問題を引き起こすことは良く知られています。
メモリーの開放に時間がかかるので、メモリーの明示的開放を避けるべきという議論も
その一つです。
しかし、本当の答えは、Linuxでもメモリーの開放に時間がかからないようにすることです。
RAIIを避けるべきという議論は、過去に繰り返された日本語を使うべきでないという議論と同じです。
日本語を使うべきでない、と同じです。
こういった問題について議論すると、必ず日本語を使うべきでないという結論に落ち着く。
しかし、本当の答えは、日本語が使えるべきです。
RAIIは多くの問題を論理的に解消できるので、常に使えるようにするべきです。
LinuxでRAIIが問題を引き起こすことは良く知られています。
メモリーの開放に時間がかかるので、メモリーの明示的開放を避けるべきという議論も
その一つです。
しかし、本当の答えは、Linuxでもメモリーの開放に時間がかからないようにすることです。
RAIIを避けるべきという議論は、過去に繰り返された日本語を使うべきでないという議論と同じです。
499デフォルトの名無しさん
2014/10/14(火) 08:43:00.85ID:rLZatyKU Linux以外なら、細かく何度もmallocして、しかもスワップアウトした領域を
freeして回っても遅く無いってか?馬鹿じゃないの?
freeして回っても遅く無いってか?馬鹿じゃないの?
500デフォルトの名無しさん
2014/10/14(火) 08:49:08.26ID:KA+Nt7Wt 先に大きめの領域確保して、開放すれば
細かく領域するときの速度が上げれるかもね
なんででしょうね?
細かく領域するときの速度が上げれるかもね
なんででしょうね?
501デフォルトの名無しさん
2014/10/14(火) 08:50:02.00ID:KA+Nt7Wt ☓細かく領域するとき
○細かく領域確保するとき
○細かく領域確保するとき
502デフォルトの名無しさん
2014/10/14(火) 09:05:57.25ID:VoeXlFKz >>499
その問題の原因は、確保したメモリー領域の先頭に大きさなどの情報を持たせることです。
どれだけの大きさを開放するか調べるために遅い二次記憶から情報を復元します。
ですから、仮想記憶が一般的になると、多くのランタイムライブラリがメモリー管理を
OSに任せるようになりました。
メモリーの開放が直接OSによって処理されることで、OSは二次記憶から情報を取り出さずに
解放するタイミングを得ます。
残念ながらLinuxではそうなっていないため、メモリーを開放すると遅いので
解放するべきではないと主張する人が現れるようになりました。
その問題の原因は、確保したメモリー領域の先頭に大きさなどの情報を持たせることです。
どれだけの大きさを開放するか調べるために遅い二次記憶から情報を復元します。
ですから、仮想記憶が一般的になると、多くのランタイムライブラリがメモリー管理を
OSに任せるようになりました。
メモリーの開放が直接OSによって処理されることで、OSは二次記憶から情報を取り出さずに
解放するタイミングを得ます。
残念ながらLinuxではそうなっていないため、メモリーを開放すると遅いので
解放するべきではないと主張する人が現れるようになりました。
503デフォルトの名無しさん
2014/10/14(火) 09:58:22.05ID:9xoyfEkM exitする直前にfreeしないのは、OSのメモリ管理機能を利用してるってことなんだけど?
504デフォルトの名無しさん
2014/10/14(火) 10:05:00.55ID:FOfhE0DJ てなしたやはたてやな
505デフォルトの名無しさん
2014/10/14(火) 10:21:21.80ID:KA+Nt7Wt 長文の割にワケワカなこと書いて漫画な
506デフォルトの名無しさん
2014/10/15(水) 20:16:19.78ID:94xVsGz9 >>503
バカ発見。
バカ発見。
507デフォルトの名無しさん
2014/10/15(水) 20:25:23.13ID:hrBmyTxM 自己紹介乙
508デフォルトの名無しさん
2014/10/16(木) 04:07:06.14ID:7g6vpmsm >>502
>ですから、仮想記憶が一般的になると、多くのランタイムライブラリがメモリー管理を
>OSに任せるようになりました。
>メモリーの開放が直接OSによって処理されることで、OSは二次記憶から情報を取り出さずに
>解放するタイミングを得ます。
そんな非効率的なことをやってる環境があるの?
>ですから、仮想記憶が一般的になると、多くのランタイムライブラリがメモリー管理を
>OSに任せるようになりました。
>メモリーの開放が直接OSによって処理されることで、OSは二次記憶から情報を取り出さずに
>解放するタイミングを得ます。
そんな非効率的なことをやってる環境があるの?
509デフォルトの名無しさん
2014/10/16(木) 06:57:35.08ID:KoQGXxiO VCのmallocはHeapAllocに丸投げする場合があるようだが、一般的かっていうと…
510デフォルトの名無しさん
2014/10/17(金) 09:39:29.66ID:O3Ha9Xaq 何を非効率と言いたいか知らないが、アプリがfreeしまくればメモリアクセスは当然発生する。
サクッと終了しちゃえば、OSはそのアプリに割り当ててたページをそのまま割り当て解除して
回収するだけ。
この効率の差を理解できないか、OSというものを理解してない発言でしかないわけだがwwwww
サクッと終了しちゃえば、OSはそのアプリに割り当ててたページをそのまま割り当て解除して
回収するだけ。
この効率の差を理解できないか、OSというものを理解してない発言でしかないわけだがwwwww
511デフォルトの名無しさん
2014/10/17(金) 16:14:49.18ID:v27NSYq1512デフォルトの名無しさん
2014/10/17(金) 16:21:12.12ID:qPP0na7I アプリ終了以外では
ある程度の大きさ以外は、freeしても割り当て解除はされませんよ
だから、ヘタすると、メモリ分断が怒って....
ある程度の大きさ以外は、freeしても割り当て解除はされませんよ
だから、ヘタすると、メモリ分断が怒って....
513デフォルトの名無しさん
2014/10/17(金) 17:45:37.94ID:O3Ha9Xaq >>511 メモリを大量に確保するアプリならどれにでもあてはまる、
ということすら理解できないのかw
ということすら理解できないのかw
514デフォルトの名無しさん
2014/10/17(金) 18:16:31.32ID:P1joaUul515デフォルトの名無しさん
2014/10/17(金) 18:16:40.65ID:xzFrNjz5 >>510
>>502の言うようにOSにメモリ確保を丸投げしてる場合、APIによってはOSも参照カウントの操作・確認も行うかもしれんぞ?
(例えば、WinのCreateFileMappingで確保したページファイル領域は生きたハンドル(を持つプロセス)があれば残る)
解放をOSに任せることで確実に軽減できるのは、アプリ側が解放すべきハンドルやポインタを走査するコストだけ。
その他のコストは実装依存でどのくらい軽減できるかが異なる。
…けど、これが問題になるケースも実装もそう多くないだろうからなぁ…
>>513
メモリ管理情報の操作に時間がかかってるんだから、小さい領域を山のように確保してるアプリじゃないか?
ポインタの走査にも時間がかかりやすい構造(馬鹿正直なリンクリストなど)だとよりコストが増える。
>>502の言うようにOSにメモリ確保を丸投げしてる場合、APIによってはOSも参照カウントの操作・確認も行うかもしれんぞ?
(例えば、WinのCreateFileMappingで確保したページファイル領域は生きたハンドル(を持つプロセス)があれば残る)
解放をOSに任せることで確実に軽減できるのは、アプリ側が解放すべきハンドルやポインタを走査するコストだけ。
その他のコストは実装依存でどのくらい軽減できるかが異なる。
…けど、これが問題になるケースも実装もそう多くないだろうからなぁ…
>>513
メモリ管理情報の操作に時間がかかってるんだから、小さい領域を山のように確保してるアプリじゃないか?
ポインタの走査にも時間がかかりやすい構造(馬鹿正直なリンクリストなど)だとよりコストが増える。
516デフォルトの名無しさん
2014/10/17(金) 19:39:54.06ID:lxCKNdJC HeapAllocはプロセス内で確保したメモリを小分けして管理してるだけで、
それをOSの機能の一部みたいに扱うのはなんかモニョるな。
それをOSの機能の一部みたいに扱うのはなんかモニョるな。
517デフォルトの名無しさん
2014/10/17(金) 20:22:20.74ID:OUYn97Bj >>511
お前がひねり出したうんこプログラム全部
お前がひねり出したうんこプログラム全部
518デフォルトの名無しさん
2014/10/17(金) 21:53:10.77ID:xzFrNjz5 >>516
言いたいことは分かるがWin32APIって案外そういうの多いからなぁ…
user32とかkernel32にも標準CライブラリみたいなAPI(sprintfモドキも居るしw)が結構一杯ある。
MulDivやCopyMemoryみたいなのも居るし、CopyRectに至ってはただの32バイトコピー。
HeapAlloc程度でモニョってたらこいつらはモニョるなんてレベルじゃすまんぞw
MulDiv(32ビット値3つから中間値64ビットの掛け算と割り算)が何故カーネル扱いなのかと。
言いたいことは分かるがWin32APIって案外そういうの多いからなぁ…
user32とかkernel32にも標準CライブラリみたいなAPI(sprintfモドキも居るしw)が結構一杯ある。
MulDivやCopyMemoryみたいなのも居るし、CopyRectに至ってはただの32バイトコピー。
HeapAlloc程度でモニョってたらこいつらはモニョるなんてレベルじゃすまんぞw
MulDiv(32ビット値3つから中間値64ビットの掛け算と割り算)が何故カーネル扱いなのかと。
519デフォルトの名無しさん
2014/10/18(土) 01:39:31.35ID:/oNwCDSd >>510
つスレッドタイトル
つスレッドタイトル
520デフォルトの名無しさん
2014/10/18(土) 13:08:53.33ID:36yYJ0yX521デフォルトの名無しさん
2014/10/18(土) 13:50:57.61ID:/oNwCDSd >>520
そうもいかない、そんな結論では C++ がいまだに営々と複雑化にこだわっている立つ瀬がない‥
そうもいかない、そんな結論では C++ がいまだに営々と複雑化にこだわっている立つ瀬がない‥
522デフォルトの名無しさん
2014/10/18(土) 16:59:54.98ID:36yYJ0yX メモリは動的に確保するくせに開放は静的にOSに任せたい
だったら、必要になるであろうメモリも配列で静的に確保しとけばいいんじゃね?
とか思うんだが…
でこういうこと言うと荒れるから、結論は
freeしたい人はして、したくない人はしない
で終了でいいんじゃね?っていう
だったら、必要になるであろうメモリも配列で静的に確保しとけばいいんじゃね?
とか思うんだが…
でこういうこと言うと荒れるから、結論は
freeしたい人はして、したくない人はしない
で終了でいいんじゃね?っていう
523デフォルトの名無しさん
2014/10/18(土) 17:06:19.18ID:/oNwCDSd >>522
それは古来lispでもよくみられたプール式、cons セルという定サイズ領域を多量に使う用途で採用されているのをみたことがある
それは古来lispでもよくみられたプール式、cons セルという定サイズ領域を多量に使う用途で採用されているのをみたことがある
524デフォルトの名無しさん
2014/10/19(日) 18:09:53.15ID:9/KRJRbT 解放しないプロセスってデバッガで実行すると終了時に大量のleak検出を吐き出したりしないのか?
525デフォルトの名無しさん
2014/10/20(月) 02:00:02.18ID:jjiQL4kf 吐いたとしても意図的に吐かせてるつもりだろうから問題ないんだろ
526デフォルトの名無しさん
2014/10/20(月) 12:45:42.29ID:4QGk34Ml たぶんメモリリークしてもプロセス終了時に
全部解放されるんだから大丈夫だと思ってるんじゃない?
全部解放されるんだから大丈夫だと思ってるんじゃない?
527デフォルトの名無しさん
2014/10/20(月) 12:49:49.79ID:6/LNQkyp リソースリークとメモリリークの区別もできないとかが典型例だな
528デフォルトの名無しさん
2014/10/20(月) 19:41:25.28ID:WDflShpF リークと解放の区別が付かないバカは死ねば良いと思う。
529デフォルトの名無しさん
2014/10/20(月) 19:48:59.73ID:+DF5oC/s メモリリーク検出ツールでリークと解放の
区別がつかなくなるから解放しとけって話でしょw
区別がつかなくなるから解放しとけって話でしょw
530デフォルトの名無しさん
2014/10/20(月) 23:06:26.87ID:exxFMbgq プログラム中で確保したメモリの各々がfreeする必要あるかないか、間違えずに
判断できる達人ならリークチェッカ使う必要ないな。
判断できる達人ならリークチェッカ使う必要ないな。
531デフォルトの名無しさん
2014/10/21(火) 12:31:58.89ID:LAOYaiit532デフォルトの名無しさん
2014/10/21(火) 12:58:58.48ID:cxE2fch2 要約?
533デフォルトの名無しさん
2014/10/21(火) 13:01:27.03ID:FB8PDZ29 普通にできないといけないことではないかと
534デフォルトの名無しさん
2014/10/21(火) 13:25:02.74ID:LAOYaiit リークチェッカなんて必要ない。
作った奴は馬鹿だ。
ミスをしなければいいだけの話。
作った奴は馬鹿だ。
ミスをしなければいいだけの話。
535デフォルトの名無しさん
2014/10/21(火) 13:49:27.95ID:FB8PDZ29 ミスしてもいいのでは、修正できれば
いきなり完成品?作れる人いるのけ
いきなり完成品?作れる人いるのけ
536デフォルトの名無しさん
2014/10/21(火) 17:55:34.62ID:RumsGmel デバッグモードでコンパイルしたときだけ解放したら
良いだけじゃん馬鹿すぎ
良いだけじゃん馬鹿すぎ
537デフォルトの名無しさん
2014/10/21(火) 18:51:18.50ID:LAOYaiit >>535
その修正をサポートするルールがリークチェッカでしょ?
で、free不要なんていって、free書いてないから
たくさん出るエラーの中から本当にリークしているものを
探して出すというマヌケな作業を行うwww
結論出たじゃん? freeは必要。
その修正をサポートするルールがリークチェッカでしょ?
で、free不要なんていって、free書いてないから
たくさん出るエラーの中から本当にリークしているものを
探して出すというマヌケな作業を行うwww
結論出たじゃん? freeは必要。
538デフォルトの名無しさん
2014/10/21(火) 19:58:14.89ID:FB8PDZ29 便利な道具がある。
とかいうとわからないでも出来ると勘違い...
とかいうとわからないでも出来ると勘違い...
539デフォルトの名無しさん
2014/10/21(火) 20:16:00.88ID:7WAeJlTS なんでfree関数というものがあるのかを考えればわかるよな
もう終わりだろ…
もう終わりだろ…
540デフォルトの名無しさん
2014/10/21(火) 21:03:35.69ID:c8NUu7RB541デフォルトの名無しさん
2014/10/21(火) 21:34:25.75ID:FB8PDZ29 リークチェッカのエラーをなくすことが答えだと思ってる人もいますね
微妙な...
微妙な...
542デフォルトの名無しさん
2014/10/21(火) 22:04:40.05ID:RG7X7O+y リークチェッカーでリークを葬ったら、おもむろに選別していけば言いだけの話
というか、リソースリークの方が深刻でちょっと困っている
というか、リソースリークの方が深刻でちょっと困っている
543デフォルトの名無しさん
2014/10/22(水) 21:25:19.20ID:9Jwqj8Ni おもむろに選別する効果・・・0.001秒速くなる。
デメリット、選別作業に数時間。
ドラブルあって、戻すのに数時間
デメリット、選別作業に数時間。
ドラブルあって、戻すのに数時間
544デフォルトの名無しさん
2014/10/23(木) 01:07:59.70ID:lumgeE3v >>542
リソースの確保・開放処理をリークチェッカと同じ仕組でラップしよう。
リソースの確保・開放処理をリークチェッカと同じ仕組でラップしよう。
545デフォルトの名無しさん
2014/10/23(木) 08:36:30.18ID:CIjfK2M+ >>544
api の数だけラップを用意するのもなんだかね‥
api の数だけラップを用意するのもなんだかね‥
546デフォルトの名無しさん
2014/12/03(水) 21:28:00.02ID:j0dAKNGZ C++だと、動的確保って
int *a = new int;
/*
aを使った処理
*/
delete a;
みたく書くと思うけど、deleteしないとアプリケーションを終了させても
確保されっぱなしだよね?
free()不要とか言ってるやつは、上記でいうdelete不要って言ってるのと
同じだよね?
int *a = new int;
/*
aを使った処理
*/
delete a;
みたく書くと思うけど、deleteしないとアプリケーションを終了させても
確保されっぱなしだよね?
free()不要とか言ってるやつは、上記でいうdelete不要って言ってるのと
同じだよね?
547デフォルトの名無しさん
2014/12/03(水) 21:41:48.53ID:JFY2u8h+ newは互換性のためにmallocで実装されてると聞いたことがある。ほんとか知らんけど。
548デフォルトの名無しさん
2014/12/03(水) 22:01:51.69ID:U2a4HdIu >>546
>deleteしないとアプリケーションを終了させても確保されっぱなしだよね?
いや、それはない。アプリ終了時にアプリの使用していたメモリは OS が解放する。これは基本的な共通認識。
それをみこして free()/delete を@まったくしないでもいい、A選別して使用しないのもありだ、B信者ならどんな new/malloc() も必ず delete/free() すべきだ、真っ向に対立している。
>deleteしないとアプリケーションを終了させても確保されっぱなしだよね?
いや、それはない。アプリ終了時にアプリの使用していたメモリは OS が解放する。これは基本的な共通認識。
それをみこして free()/delete を@まったくしないでもいい、A選別して使用しないのもありだ、B信者ならどんな new/malloc() も必ず delete/free() すべきだ、真っ向に対立している。
549デフォルトの名無しさん
2014/12/03(水) 22:25:43.16ID:JF624AUp B選別するほうが面倒くさいだろう
550デフォルトの名無しさん
2014/12/04(木) 02:18:35.19ID:wOy+480c C++なら、メモリマネージメントクラス書くでしょ。その前にstd::vectorあるけど。
551デフォルトの名無しさん
2014/12/04(木) 04:20:29.25ID:ViSTblTx Jane使ってる人は分かると思うけど、一度に多量の画像を保存する機会が多いと思う
そしてJaneは一度立ち上げたらOS再起動するまで大抵立ち上げっぱなし
そんな状態で画像の展開領域のためにmalloc()もしくはnewしたメモリをfree()やdelete
しなかったらどうなる?これ32bitアプリでしょ?120〜150枚ほど画像を開くと、例えば俺の
環境の場合Windows8.1だからJaneには2GB割り当あられるけど、free()しないとすぐに
メモリがなくなっちゃうね
そしてJaneは一度立ち上げたらOS再起動するまで大抵立ち上げっぱなし
そんな状態で画像の展開領域のためにmalloc()もしくはnewしたメモリをfree()やdelete
しなかったらどうなる?これ32bitアプリでしょ?120〜150枚ほど画像を開くと、例えば俺の
環境の場合Windows8.1だからJaneには2GB割り当あられるけど、free()しないとすぐに
メモリがなくなっちゃうね
552デフォルトの名無しさん
2014/12/04(木) 07:46:58.88ID:44/e6+B9 delete/free()不要って言ってる人って、もはやなぜメモリを動的に確保するのか?
の意味を見失ってる人ですよね?
可哀想です
の意味を見失ってる人ですよね?
可哀想です
553デフォルトの名無しさん
2014/12/04(木) 08:53:33.85ID:i8WWsgkD554デフォルトの名無しさん
2014/12/04(木) 09:15:31.23ID:otxDKoZc ガベージコレクションはいらない、と必死でやせ我慢してC++を使う俺カッコイイ、というわけですねわかります
本来はこの一言で終わる話なのに、可哀想です
本来はこの一言で終わる話なのに、可哀想です
555デフォルトの名無しさん
2014/12/04(木) 12:56:10.33ID:hhBXBLyI556デフォルトの名無しさん
2014/12/04(木) 18:22:41.52ID:jHjIGczB なまぽおいしいです
557デフォルトの名無しさん
2014/12/04(木) 20:36:19.32ID:e632zg1P >>554
GC はまだ「完成された」というほどの領域に至っていない、Mark&Sweep とか CopyGC, 世代別GC、incrementalGCなど、いろんな手法を駆使してだましだまし実装しているレベル
うそだと思うのなら、スマフォアプリを見ればよい、スマフォは定期的に再起動しないといけないレベル、iphone は定期的にiOSアップデートの方が先にやってくるようだが
GC はまだ「完成された」というほどの領域に至っていない、Mark&Sweep とか CopyGC, 世代別GC、incrementalGCなど、いろんな手法を駆使してだましだまし実装しているレベル
うそだと思うのなら、スマフォアプリを見ればよい、スマフォは定期的に再起動しないといけないレベル、iphone は定期的にiOSアップデートの方が先にやってくるようだが
558デフォルトの名無しさん
2014/12/04(木) 20:49:21.59ID:otxDKoZc malloc/freeを確実に行う方法は完成している、とでも言うのかwwwwwwwwwww
559デフォルトの名無しさん
2014/12/04(木) 20:50:13.03ID:otxDKoZc 研究が盛んなあらゆる分野に「まだ「完成された」というほどの領域に至っていない」って
喧嘩売ってみろよw
喧嘩売ってみろよw
560デフォルトの名無しさん
2014/12/04(木) 21:03:43.58ID:e632zg1P >>558
簡単なラッパをかませばいいだけの話、それすらもできないの?
簡単なラッパをかませばいいだけの話、それすらもできないの?
561デフォルトの名無しさん
2014/12/04(木) 21:25:34.66ID:otxDKoZc いろんな手法を駆使してだましだまし漏れがないようにしているレベル、って言うんじゃないのか、それw
562デフォルトの名無しさん
2014/12/04(木) 22:34:16.24ID:wOy+480c それって言語レベルで完全なGC無いと満足できませんっていってないか?
563デフォルトの名無しさん
2014/12/04(木) 23:15:24.98ID:Q4EOsLJ8 malloc/freeでバグばっかり出してる奴が「freeしない」という解決策を正当化しようとしているだけの話。
564デフォルトの名無しさん
2014/12/05(金) 00:48:52.11ID:3wjXi0Au この感じだとバグ出す以前の問題で、deleteの使い方知らずに恥かいたJava厨なんじゃね?
565デフォルトの名無しさん
2014/12/05(金) 01:39:25.94ID:eQEw8fvn なぜメモリを動的に確保する必要があるのか?という基本に立ち返って考えれば
不要論は論外であることに気づくだろう
注:このスレタイからわかるように近年のGCは範疇に入っていない
不要論は論外であることに気づくだろう
注:このスレタイからわかるように近年のGCは範疇に入っていない
566デフォルトの名無しさん
2014/12/05(金) 08:03:02.81ID:F2ZjRsjm もともと GC の話じゃないし
567デフォルトの名無しさん
2014/12/05(金) 08:19:12.35ID:2qqkLjHh >>561
ラッパ一つを「いろんな」「駆使して」とかいうお子様レベルなの?
あと GC はまだまだだよ、Java の業務アプリを60日間起動しているとメモリ占有量が増えてきてきびきび動かなくなるとか勘弁してほしい、スマフォもイマイチだなあ
ラッパ一つを「いろんな」「駆使して」とかいうお子様レベルなの?
あと GC はまだまだだよ、Java の業務アプリを60日間起動しているとメモリ占有量が増えてきてきびきび動かなくなるとか勘弁してほしい、スマフォもイマイチだなあ
568デフォルトの名無しさん
2014/12/05(金) 11:53:33.63ID:IjAdRY0C ほら出た、「俺様のやってる業務には」というすごく狭い世界が、世界の全てだ、みたいな人w
569デフォルトの名無しさん
2014/12/05(金) 20:02:26.00ID:2qqkLjHh >>559
確かにFORTRAN, COBOL と並ぶ由緒正しき Lisp 様由来の GC に喧嘩を売るのはちょっと怖いが、実はすでに試みてみた‥
http://peace.2ch.net/test/read.cgi/tech/1408017352/201
確かにFORTRAN, COBOL と並ぶ由緒正しき Lisp 様由来の GC に喧嘩を売るのはちょっと怖いが、実はすでに試みてみた‥
http://peace.2ch.net/test/read.cgi/tech/1408017352/201
570デフォルトの名無しさん
2014/12/06(土) 00:13:17.80ID:tAcOC+EO Qzって、Lisp Schemeでケンカ吹っかけてガン無視されてるよな。
571デフォルトの名無しさん
2014/12/06(土) 00:28:28.87ID:uyZCaoW8 「胸を借りるつもりで」
572デフォルトの名無しさん
2014/12/06(土) 01:08:13.40ID:uyZCaoW8 >>547
演算子 new をオーバーロードするとき、中身は malloc() で書かざるを得ない気がする‥
演算子 new をオーバーロードするとき、中身は malloc() で書かざるを得ない気がする‥
573デフォルトの名無しさん
2014/12/06(土) 03:30:36.01ID:Iv1q4dyj >>572
VirtualAllocとかOS依存のメソッド使ったり、グローバルな配列を細切れに使ったりも出来るんじゃない?
標準のAPIで書くならmallocしかないけど…
コンパイラ環境側が提供するnewを標準Cの範囲のみで書かなきゃダメな規則とか有るんだろうか?
だけどstd::threadとか標準Cにはどうやっても落とし込めないよなぁ…
VirtualAllocとかOS依存のメソッド使ったり、グローバルな配列を細切れに使ったりも出来るんじゃない?
標準のAPIで書くならmallocしかないけど…
コンパイラ環境側が提供するnewを標準Cの範囲のみで書かなきゃダメな規則とか有るんだろうか?
だけどstd::threadとか標準Cにはどうやっても落とし込めないよなぁ…
574デフォルトの名無しさん
2014/12/06(土) 09:58:48.26ID:Khx/zTiJ いやいや、freeが邪魔になるのは数少ない例外って
世界でものすごく広く使われているプログラムcpがfreeが邪魔だから
最後のfreeしなくなったでしょ
Google word2vecだって最後のfreeは省略している。
上で書いてあるJaneの例はfreeすべき例、
オブジェクトの寿命が終わったのだから。
free絶対主義者の考え方の何が、気に食わないかって
オブジェクトの寿命を意識してプログラムを組んでいないんじゃ
ないかってこと。
リークチェッカに引っかからなければプログラムの実行中
不必要なオブジェクトの領域が確保されていても気にしなさそう。
世界でものすごく広く使われているプログラムcpがfreeが邪魔だから
最後のfreeしなくなったでしょ
Google word2vecだって最後のfreeは省略している。
上で書いてあるJaneの例はfreeすべき例、
オブジェクトの寿命が終わったのだから。
free絶対主義者の考え方の何が、気に食わないかって
オブジェクトの寿命を意識してプログラムを組んでいないんじゃ
ないかってこと。
リークチェッカに引っかからなければプログラムの実行中
不必要なオブジェクトの領域が確保されていても気にしなさそう。
575デフォルトの名無しさん
2014/12/06(土) 11:47:15.03ID:dmb0kXdE なぜメモリを静的にではなく動的に確保するのか?の本来の目的を考えれば
自ずと答えは出る
自ずと答えは出る
576デフォルトの名無しさん
2014/12/06(土) 12:31:58.16ID:ui+tbMEF オブジェクトの寿命を意識するってのは、プログラム開始してから終了するまでの
どの期間存在するかを常に意識しろということなのかね。
プログラムの構造化によって生存区間を限定し、不要になった時点で破棄することで
大域的な知識によらずに安全に使用リソースの最小化を図るという考え方が理解できない
原始時代の人なんだろうか。
そういう人は少なくとも関数内でmalloc/freeを使うべきじゃないな。
どの期間存在するかを常に意識しろということなのかね。
プログラムの構造化によって生存区間を限定し、不要になった時点で破棄することで
大域的な知識によらずに安全に使用リソースの最小化を図るという考え方が理解できない
原始時代の人なんだろうか。
そういう人は少なくとも関数内でmalloc/freeを使うべきじゃないな。
577デフォルトの名無しさん
2014/12/06(土) 12:50:41.02ID:JydoFUaV 大域的な知識を基に最適化するのはむしろ今のトレンドだけど
オブジェクトの生存期間を意識し、場合によってはfreeしないことで
プログラムの性能を向上させる話でしょ?
cpやword2vecの例は
オブジェクトの生存期間を意識し、場合によってはfreeしないことで
プログラムの性能を向上させる話でしょ?
cpやword2vecの例は
578デフォルトの名無しさん
2014/12/06(土) 14:49:24.53ID:ui+tbMEF 自動化ないしは意識せずにできるようにするのはな。
プログラマ自身がしこしこやるのがいったいどこのトレンドだよw
プログラマ自身がしこしこやるのがいったいどこのトレンドだよw
579デフォルトの名無しさん
2014/12/06(土) 15:42:19.80ID:dmb0kXdE そういうやつは、スレチだがgcつかっとけよもう
580デフォルトの名無しさん
2014/12/06(土) 18:25:26.31ID:dOSwxHPK cpやword2vecを書くようなプログラマと
その辺で業務システム書いてるドカタを
同じ土俵で論じるのが間違い
その辺で業務システム書いてるドカタを
同じ土俵で論じるのが間違い
581574
2014/12/06(土) 19:13:16.22ID:Khx/zTiJ >>576
>> 不要になった時点で破棄
まさしくそれ、
不要になったと判明した時点で速やかに破棄というのが大前提。
free絶対派はその意識が乏しいんじゃないかと。
なんとなくmallocとfreeは対でなければいけないから漫然と
freeしているだけなんじゃないかと。
上記のJaneの例なら
画像を破棄したらその画像で使用した領域はその時点でfree
スレッドを破棄したら、それに使った領域はその時点でfree
word2vecは入力した文書の統計情報は最後まで利用する
--> 破棄されることがないので、freeする必要がない
>> 不要になった時点で破棄
まさしくそれ、
不要になったと判明した時点で速やかに破棄というのが大前提。
free絶対派はその意識が乏しいんじゃないかと。
なんとなくmallocとfreeは対でなければいけないから漫然と
freeしているだけなんじゃないかと。
上記のJaneの例なら
画像を破棄したらその画像で使用した領域はその時点でfree
スレッドを破棄したら、それに使った領域はその時点でfree
word2vecは入力した文書の統計情報は最後まで利用する
--> 破棄されることがないので、freeする必要がない
582デフォルトの名無しさん
2014/12/06(土) 19:41:46.07ID:ui+tbMEF それ「最後まで利用」じゃなくて、利用終了時点の判断をネグってるだけ。
583デフォルトの名無しさん
2014/12/06(土) 19:46:54.04ID:ADt2fRJM プロセスが確保したメモリは、プロセスを終了させても解放されず、
解放するにはコンピュータの再起動が必要となるOSが昔あったなあ。
バグではなく、OSの正規の仕様として。OSの名前忘れたけど。
そんな仕様じゃメモリをいくら積んでも足りないし、連続稼動できないじゃん!
・・・という各方面からの否定的な評価に対し、そのOSの設計者は
「メモリを十分に積まないのが問題」「定期的にリブートすればいいこと」
「メモリ資源の再利用をOSに任せようとするアプリケーション開発者の手抜き」
のようにOS側の問題ではないと一蹴してて、その主張に一理あるということで、
当時はちょっと衝撃を受けたわ。
malloc したものを free することには合理性があるけど。
その価値観に対抗するようなOS設計哲学も存在するということで。
何が正しいのか、唯一の結論を出すのは、なかなか難しいかもねえ(^o^)ノ
解放するにはコンピュータの再起動が必要となるOSが昔あったなあ。
バグではなく、OSの正規の仕様として。OSの名前忘れたけど。
そんな仕様じゃメモリをいくら積んでも足りないし、連続稼動できないじゃん!
・・・という各方面からの否定的な評価に対し、そのOSの設計者は
「メモリを十分に積まないのが問題」「定期的にリブートすればいいこと」
「メモリ資源の再利用をOSに任せようとするアプリケーション開発者の手抜き」
のようにOS側の問題ではないと一蹴してて、その主張に一理あるということで、
当時はちょっと衝撃を受けたわ。
malloc したものを free することには合理性があるけど。
その価値観に対抗するようなOS設計哲学も存在するということで。
何が正しいのか、唯一の結論を出すのは、なかなか難しいかもねえ(^o^)ノ
584デフォルトの名無しさん
2014/12/06(土) 20:01:10.98ID:5oGFUyw+ UnixのSIGKILLみたいに問答無用でプロセスが殺されたりせずに、後始末の作業が
できることがシステム全体として保証されてるなら通る理屈だけど、どうせそのような
仕掛けがあるわけじゃないだろうなw
できることがシステム全体として保証されてるなら通る理屈だけど、どうせそのような
仕掛けがあるわけじゃないだろうなw
585デフォルトの名無しさん
2014/12/06(土) 22:06:14.90ID:Iv1q4dyj586デフォルトの名無しさん
2014/12/06(土) 22:10:57.01ID:jRYa77lH プログラムの最初から最後まで領域を優先するようなメモリはStatic使うべし。
MallocはFreeされるべき。
MallocはFreeされるべき。
587デフォルトの名無しさん
2014/12/06(土) 22:51:56.38ID:dmb0kXdE 途中でfreeしてメモリを効率よく使えるようmallocするんじゃないんかと…
588デフォルトの名無しさん
2014/12/06(土) 23:09:29.33ID:jRYa77lH Malloc自体は遅いんだよ。
Freeしなかったら蓄積してって確保できなくなるぞ。
まぁ、最近のコンピュータで困るかはわからん。
Freeしなかったら蓄積してって確保できなくなるぞ。
まぁ、最近のコンピュータで困るかはわからん。
589デフォルトの名無しさん
2014/12/06(土) 23:29:03.74ID:5oGFUyw+ GCを前提としたmallocだと、極端な奴ではポインタずらして管理情報をちょこっと書くだけ、
って場合もあるけどなw
って場合もあるけどなw
590デフォルトの名無しさん
2014/12/06(土) 23:32:11.16ID:jRYa77lH なにそのオレオレライブラリ。
591デフォルトの名無しさん
2014/12/07(日) 00:10:44.64ID:T0oVgQBw mallocしたメモリをGCしてくれるわけねーだろw
そういうやつはC++ならせめてgcnewくらい使え
そういうやつはC++ならせめてgcnewくらい使え
592デフォルトの名無しさん
2014/12/07(日) 05:38:55.41ID:LVeISVsO これが fopen() / fclose()、低水準なら open()/close() の話だったりすると、
プロセス終了時にオープンされているものは OS がクローズしてくれるものにもかかわらず、
「プログラム終了時の fclose() を省略しないやつは糞」というのはあまりきかないね…
ま 10万20万と fopen() するわけではないからね…
プロセス終了時にオープンされているものは OS がクローズしてくれるものにもかかわらず、
「プログラム終了時の fclose() を省略しないやつは糞」というのはあまりきかないね…
ま 10万20万と fopen() するわけではないからね…
593デフォルトの名無しさん
2014/12/07(日) 09:22:07.16ID:T0oVgQBw つーか、終了時のメモリ開放処理程度をめんどくさいとか言うやつは
もうプログラマなんか向いてねーからやめちまえよ
もうプログラマなんか向いてねーからやめちまえよ
594デフォルトの名無しさん
2014/12/07(日) 09:40:05.22ID:r6DD4JyZ595デフォルトの名無しさん
2014/12/07(日) 09:50:23.92ID:SIYxuRDn596デフォルトの名無しさん
2014/12/07(日) 10:04:52.37ID:ekuZw6uY 最近のシステムではないと思うけど、ファイルの場合は排他ロックしたらシェルから見てデッドロックしたりするので解放しないという選択肢はないはず。
597デフォルトの名無しさん
2014/12/07(日) 10:13:48.44ID:RIZYWRwW 昔はOSの設計上、同時に開けるファイルハンドル数に厳しい制限があった
今はほぼ制限なしに等しくプロセス外にまで支障をきたすほどたくさんファイルを開くシステムも稀
プロセス間で同じファイルを扱うケースも実際には少ない
今はほぼ制限なしに等しくプロセス外にまで支障をきたすほどたくさんファイルを開くシステムも稀
プロセス間で同じファイルを扱うケースも実際には少ない
598デフォルトの名無しさん
2014/12/07(日) 10:45:17.82ID:mrRmmrII たしかに MS-DOS でも1プロセス20までだったか、プロセスメモリマップにもそういうテーブルがあったね
599デフォルトの名無しさん
2014/12/07(日) 10:52:54.31ID:mrRmmrII600デフォルトの名無しさん
2014/12/07(日) 11:05:32.98ID:SIYxuRDn ファイルロックの方法によるのにあっさり決めつけてしまってるあたりが、
全くわかってないことを露呈していて趣き深い。
全くわかってないことを露呈していて趣き深い。
601デフォルトの名無しさん
2014/12/07(日) 13:04:46.31ID:UwBbHZ64 ちょっとしたgcぐらい、自分で作れよ
gcnew?知るかそんなの
gcnew?知るかそんなの
602デフォルトの名無しさん
2014/12/08(月) 10:37:40.97ID:SJ/ip5mJ 日本主記憶解放戦線。
603デフォルトの名無しさん
2014/12/08(月) 17:49:26.49ID:3czqE9B9 >>602
こまめにmallocしまくって自滅フラグw
こまめにmallocしまくって自滅フラグw
604デフォルトの名無しさん
2014/12/08(月) 18:30:17.91ID:SJ/ip5mJ 我々はすべての主記憶を解放するまで戦い続ける。
解放すると遅い。
それは設計あるいは使用範囲が間違っているのである。
適宜開放することにより、誤りに気付く機会が与えられる。
すなわち、確保した記憶域は必ず解放されねばならない。
(主記憶解放戦線憲章より引用)
解放すると遅い。
それは設計あるいは使用範囲が間違っているのである。
適宜開放することにより、誤りに気付く機会が与えられる。
すなわち、確保した記憶域は必ず解放されねばならない。
(主記憶解放戦線憲章より引用)
605デフォルトの名無しさん
2014/12/08(月) 19:03:22.56ID:WiG9aNiK ムダにかっこいい系
606デフォルトの名無しさん
2014/12/08(月) 22:23:08.00ID:m6wBRCkx607デフォルトの名無しさん
2014/12/09(火) 08:32:16.30ID:LA65v/8c >>593
終了時の開放は別に無くても良いと思う。
勿論反復ルーチンでは都度開放しないといずれ枯渇するから開放は当然。
GC無くても如何なる場合も開放不要、みたいな意見には賛成できない。
要はケースバイケース
終了時の開放は別に無くても良いと思う。
勿論反復ルーチンでは都度開放しないといずれ枯渇するから開放は当然。
GC無くても如何なる場合も開放不要、みたいな意見には賛成できない。
要はケースバイケース
608デフォルトの名無しさん
2014/12/09(火) 12:52:12.55ID:i9BKJ0vK610デフォルトの名無しさん
2014/12/09(火) 23:34:43.57ID:i9BKJ0vK 計算指示書作成手順において、記憶域解放が省略されてはならない。
それは省略ではなく手抜きである。
少々の手抜きが計算指示全体に悪影響を及ぼすことがある。
心して作成せよ。
それは省略ではなく手抜きである。
少々の手抜きが計算指示全体に悪影響を及ぼすことがある。
心して作成せよ。
611デフォルトの名無しさん
2014/12/10(水) 00:33:13.98ID:Deu5ogie サッカースタジアムは、
客がはけた後には必ず掃除されるんだから、
サポーターがゴミ拾いをする必要はない。
客がはけた後には必ず掃除されるんだから、
サポーターがゴミ拾いをする必要はない。
612デフォルトの名無しさん
2014/12/10(水) 00:37:51.16ID:8C/H0+A2 しかし同じ日に繰り返し何試合もやったら次第に人のいる場所がなくなるだろ
613デフォルトの名無しさん
2014/12/10(水) 06:13:48.75ID:115BiRn2 >>ID:i9BKJ0vK
はっはー。サタンサマー。
はっはー。サタンサマー。
614デフォルトの名無しさん
2014/12/13(土) 00:20:32.42ID:pBf+dW7w 組込ソフトウェアでfreeしなかったら、起動してネットワーク接続したら3分と持たずにフリーズするかメモリ枯渇エラーのログ吐きまくるわ
615デフォルトの名無しさん
2014/12/15(月) 15:05:28.38ID:ZETjn4CW 俺の知っている、という枕詞が省略されている典型例やな
616デフォルトの名無しさん
2014/12/27(土) 16:11:44.99ID:9Rxt26Ql free要る派
→自分でしたうんこは自分で流す派
free要らない派
→うんこしたけど、この便所二度と来ることないから俺シラネ
便所の管理人が勝手に掃除してくれるんじゃね?
と考えると、俺は断然free要る派となる
→自分でしたうんこは自分で流す派
free要らない派
→うんこしたけど、この便所二度と来ることないから俺シラネ
便所の管理人が勝手に掃除してくれるんじゃね?
と考えると、俺は断然free要る派となる
617デフォルトの名無しさん
2014/12/29(月) 20:47:20.01ID:KuYXSH39 >>616
流すまでその便所は他の人が使えないわけだが、管理人が来ないまま使える空き便所が無尽蔵にあるという前提が必要だな
流すまでその便所は他の人が使えないわけだが、管理人が来ないまま使える空き便所が無尽蔵にあるという前提が必要だな
618デフォルトの名無しさん
2014/12/29(月) 20:53:22.95ID:/sLHpawi それが無尽蔵にないからswap地獄に陥るんじゃないか。
619デフォルトの名無しさん
2014/12/29(月) 21:06:56.82ID:KuYXSH39 管理人がやって来る明確な規則がイマイチわからなくて気持ち悪い
620デフォルトの名無しさん
2014/12/29(月) 21:14:34.42ID:bj0t/8Ju 大抵は「管理人仕事しろボタン」があるだろ
621デフォルトの名無しさん
2015/02/06(金) 01:41:27.81ID:b3gwE4qm622デフォルトの名無しさん
2015/02/21(土) 23:49:31.87ID:mk77xCMU fj.comp.lang.c++
Malloc and Free
https://groups.google.com/forum/m/#!msg/fj.comp.lang.c++/G4HRnHTdImg/pTgn9kQaMCoJ
Malloc and Free
https://groups.google.com/forum/m/#!msg/fj.comp.lang.c++/G4HRnHTdImg/pTgn9kQaMCoJ
623デフォルトの名無しさん
2015/02/22(日) 21:10:43.75ID:XKkbsrmM >>622
懐かしい、あれから 15年かぁ
懐かしい、あれから 15年かぁ
624デフォルトの名無しさん
2015/02/24(火) 00:46:11.63ID:oRO5M8st けっこう最近(?)の話なんだ‥面子的に1990年〜1995年くらいかと思っていた
625デフォルトの名無しさん
2015/02/24(火) 00:57:46.90ID:zk/7dheO626デフォルトの名無しさん
2015/02/24(火) 01:14:22.05ID:oRO5M8st627デフォルトの名無しさん
2015/02/24(火) 13:58:34.87ID:T1wlJW1m 15年経っても同じような屁理屈をこねる者がいるというのは感慨深い
628デフォルトの名無しさん
2015/07/03(金) 00:44:55.67ID:js6seqbJ malloc()してfree()しない奴とかなんなの?
exeが終了すればOSがヒープ領域も解放してくれるからfree()不要とかなんなの?
内部で何度もmalloc()するアプリだと、free()しないと、ユーザーが定期的にアプリを
再起動しないとどんどんメモリが食われていく
そんなクソアプリを作る奴はいらね
だからfree()しとけカスども
exeが終了すればOSがヒープ領域も解放してくれるからfree()不要とかなんなの?
内部で何度もmalloc()するアプリだと、free()しないと、ユーザーが定期的にアプリを
再起動しないとどんどんメモリが食われていく
そんなクソアプリを作る奴はいらね
だからfree()しとけカスども
629NAS6 ◆n3AmnVhjwc
2015/07/04(土) 07:15:01.94ID:+0FMM883 malloc()してfree()しないなら、素直に配列を使えばいいのに・・・
630デフォルトの名無しさん
2015/07/04(土) 09:05:53.85ID:5JPjTv/9 >>629
いや、わざわざ釣りは要らんから。
いや、わざわざ釣りは要らんから。
631デフォルトの名無しさん
2015/07/04(土) 12:39:12.23ID:eIcp7urH これはGCやスマートポインタに対する警告文だろね。
632デフォルトの名無しさん
2015/07/04(土) 13:31:46.55ID:WvwJxr10 安全側に振って思考停止する奴がCなんか使うんじゃねぇ
という主張なら理解できなくもない
という主張なら理解できなくもない
633NAS6 ◆n3AmnVhjwc
2015/07/05(日) 19:06:31.29ID:v9UjDf+H グローバルスコープの配列で出来ないことは動的確保だけだけど
free()でメモリ節約の意図がないならば
プログラム仕様上の最大容量でグローバルスコープ配列確保で全て済むよ
free()でメモリ節約の意図がないならば
プログラム仕様上の最大容量でグローバルスコープ配列確保で全て済むよ
634デフォルトの名無しさん
2015/07/06(月) 08:25:50.04ID:UtQpsrfy データ量が多くてスワップするほどメモリを使ってしまうのと、僅かなデータの為にスワップするほどメモリを確保するのでは話が違うけどね。
635デフォルトの名無しさん
2015/08/25(火) 21:39:50.35ID:bwlYR2I5 何々全部配列でするの?
オブジェクトをnewしてポインタで管理したりしないの?
HSPみたいだね
オブジェクトをnewしてポインタで管理したりしないの?
HSPみたいだね
636NAS6 ◆n3AmnVhjwc
2015/08/25(火) 23:59:50.17ID:WwLbMRpa void hoge(){
・・・
p=malloc(10);
・・・pにゃむにゃむ、freeはしない
}
void main(){
hoge();
}
なんてのは
type p[10];
void hoge(){
・・・pにゃむにゃむ
}
void main(){
hoge();
}
こっちのほうがいいよ
freeやdeleteをちゃんと使わないコードがダメなだけだよ
スマートポインタを作りたいんなら
template<typename T>class A{
T* m_p;
A(int n){m_p=new T[n];}
~A(){if(m_p){delete[] m_p;m_p=null;}}
・・・にゃむにゃむ
}
コンパイル通してないからあれだけどこんなかんじに
コンストラクタとデストラクタをやっとけよ
・・・
p=malloc(10);
・・・pにゃむにゃむ、freeはしない
}
void main(){
hoge();
}
なんてのは
type p[10];
void hoge(){
・・・pにゃむにゃむ
}
void main(){
hoge();
}
こっちのほうがいいよ
freeやdeleteをちゃんと使わないコードがダメなだけだよ
スマートポインタを作りたいんなら
template<typename T>class A{
T* m_p;
A(int n){m_p=new T[n];}
~A(){if(m_p){delete[] m_p;m_p=null;}}
・・・にゃむにゃむ
}
コンパイル通してないからあれだけどこんなかんじに
コンストラクタとデストラクタをやっとけよ
637デフォルトの名無しさん
2015/08/26(水) 00:36:58.00ID:5P6ATqZc はいバカ
沢山のオブジェクトを配列で管理とか
沢山のオブジェクトを配列で管理とか
638NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:01:42.59ID:soKtzAZv #include <iostream>
using namespace std;
#define TEST
template<typename T>class A {
public:
T* m_p;
int m_size;
A() {
m_p = nullptr;
m_size = 0;
#ifdef TEST
cout << "コンストラクタ A"<<endl;
#endif
}
A(int n) :A() { m_p = new T[n]; m_size = n; }
~A() {
if (m_p != nullptr) { delete[] m_p; m_p = nullptr; m_size = 0; }
#ifdef TEST
cout << "デストラクタ A" << endl;
#endif
}
};
using namespace std;
#define TEST
template<typename T>class A {
public:
T* m_p;
int m_size;
A() {
m_p = nullptr;
m_size = 0;
#ifdef TEST
cout << "コンストラクタ A"<<endl;
#endif
}
A(int n) :A() { m_p = new T[n]; m_size = n; }
~A() {
if (m_p != nullptr) { delete[] m_p; m_p = nullptr; m_size = 0; }
#ifdef TEST
cout << "デストラクタ A" << endl;
#endif
}
};
639NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:02:10.89ID:soKtzAZv void dispAint(A<int> &a) {
int i;
for (i = 0; i < a.m_size; i++) cout << a.m_p[i] << endl;
}
void main() {
int i;
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
dispAint(a); }
i = 1;//ブレークポイント設定
return;
}
delete使わないのがダメなだけだよ
スマートポインタを作りたいならこう書く
int i;
for (i = 0; i < a.m_size; i++) cout << a.m_p[i] << endl;
}
void main() {
int i;
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
dispAint(a); }
i = 1;//ブレークポイント設定
return;
}
delete使わないのがダメなだけだよ
スマートポインタを作りたいならこう書く
640NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:26:51.26ID:soKtzAZv void A::resize(int n) {
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
m_p = tmp;
m_size = n;
}
クラスAのリサイズをするんならこんな感じ
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
m_p = tmp;
m_size = n;
}
クラスAのリサイズをするんならこんな感じ
641デフォルトの名無しさん
2015/08/26(水) 01:28:22.08ID:5P6ATqZc これのどこがスマートポインタwww
バカ決定じゃねーか
バカ決定じゃねーか
642NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:33:34.47ID:soKtzAZv ああ、こうだった
void A::resize(int n) {
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
if (m_p != nullptr) {
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
}
m_p = tmp;
m_size = n;
}
void A::resize(int n) {
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
if (m_p != nullptr) {
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
}
m_p = tmp;
m_size = n;
}
643NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:44:03.88ID:soKtzAZv >>641
どこが?って、そのまんまだよ
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
resize(5);
dispAint(a); }
メモリの確保と破棄をこのスコープで自動的にやるよ
利用は参照渡しじゃないとデストラクタが複数回呼ばれちゃうけどな
どこが?って、そのまんまだよ
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
resize(5);
dispAint(a); }
メモリの確保と破棄をこのスコープで自動的にやるよ
利用は参照渡しじゃないとデストラクタが複数回呼ばれちゃうけどな
644NAS6 ◆n3AmnVhjwc
2015/08/26(水) 01:45:51.99ID:soKtzAZv ミス
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
a.resize(5);
dispAint(a); }
{ A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
a.resize(5);
dispAint(a); }
645デフォルトの名無しさん
2015/08/26(水) 01:57:13.25ID:KP8nmGdk だからそれのどこがスマートポインタなの?
まだ気づかないの?本物のバカだ
まだ気づかないの?本物のバカだ
646NAS6 ◆n3AmnVhjwc
2015/08/26(水) 02:17:33.32ID:soKtzAZv 所有権エラーが嫌ならthisポインタを保存すればいいだけのこと
ポインタとしての構文動作がしたいなら->()なり、*()なり
オペレータオーバーロードすりゃあいいだろ
#include <iostream>
using namespace std;
#define TEST
template<typename T>class A {
public:
T* m_p;
A* m_owner;
int m_size;
A() {
m_owner = this;
m_p = nullptr;
m_size = 0;
#ifdef TEST
cout << "コンストラクタ A"<<endl;
#endif
}
A(int n) :A() { m_p = new T[n]; m_size = n; }
~A() {
if (m_owner == this && m_p != nullptr) {
delete[] m_p; m_p = nullptr; m_size = 0;
#ifdef TEST
cout << "デストラクタ A" << endl;
#endif
}
}
つづき
ポインタとしての構文動作がしたいなら->()なり、*()なり
オペレータオーバーロードすりゃあいいだろ
#include <iostream>
using namespace std;
#define TEST
template<typename T>class A {
public:
T* m_p;
A* m_owner;
int m_size;
A() {
m_owner = this;
m_p = nullptr;
m_size = 0;
#ifdef TEST
cout << "コンストラクタ A"<<endl;
#endif
}
A(int n) :A() { m_p = new T[n]; m_size = n; }
~A() {
if (m_owner == this && m_p != nullptr) {
delete[] m_p; m_p = nullptr; m_size = 0;
#ifdef TEST
cout << "デストラクタ A" << endl;
#endif
}
}
つづき
647NAS6 ◆n3AmnVhjwc
2015/08/26(水) 02:19:36.57ID:soKtzAZv つづき
void resize(int n) {
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
if (m_owner == this && m_p != nullptr) {
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
}
m_p = tmp;
m_size = n;
}
};
void dispAint(A<int> a) {
int i;
for (i = 0; i < a.m_size; i++) cout << a.m_p[i] << endl;
}
void main() {
int i;
{
A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
a.resize(5);
dispAint(a);
}
i = 1;//ブレークポイント設定
return;
}
void resize(int n) {
int i;
int m = (n < m_size ? n : m_size);
T* tmp=new T[n];
if (m_owner == this && m_p != nullptr) {
for (i = 0; i < m; i++) tmp[i] = m_p[i];
delete[] m_p;
}
m_p = tmp;
m_size = n;
}
};
void dispAint(A<int> a) {
int i;
for (i = 0; i < a.m_size; i++) cout << a.m_p[i] << endl;
}
void main() {
int i;
{
A<int> a(10);
for (i = 0; i < a.m_size; i++) a.m_p[i] = i + 10;
a.resize(5);
dispAint(a);
}
i = 1;//ブレークポイント設定
return;
}
648デフォルトの名無しさん
2015/08/26(水) 02:24:15.81ID:KP8nmGdk で、これが「スマートポインタ」なわけ?
649NAS6 ◆n3AmnVhjwc
2015/08/26(水) 02:29:19.01ID:soKtzAZv ポインタとしての構文動作がしたいなら->()なり、*()なり
オペレーターオーバーロードすりゃあいいだろ
オペレーターオーバーロードすりゃあいいだろ
650NAS6 ◆n3AmnVhjwc
2015/08/26(水) 06:56:12.48ID:soKtzAZv ttp://nas6.main.jp/sptr.cpp
スマートポインタで実装したい動作で↑で足りないものはないとおもう
スマートポインタで実装したい動作で↑で足りないものはないとおもう
651NAS6 ◆n3AmnVhjwc
2015/08/26(水) 07:00:39.49ID:soKtzAZv あとはoperator ->(???)の定義の仕方がよくわからん
652NAS6 ◆n3AmnVhjwc
2015/08/26(水) 10:50:48.63ID:soKtzAZv operator ->()もできた
653デフォルトの名無しさん
2015/08/26(水) 10:51:56.19ID:m0f/YXG1 ここまで指摘してあげているのに、
何でスマートポインタで検索して調べないの?
だから君はダメなんだよ
君の書いてるのは、コンテナ、で、スマートポインタ、ではない
はい、答え
バカは黙ってstd::vector使っとけ
何でスマートポインタで検索して調べないの?
だから君はダメなんだよ
君の書いてるのは、コンテナ、で、スマートポインタ、ではない
はい、答え
バカは黙ってstd::vector使っとけ
654デフォルトの名無しさん
2015/08/26(水) 12:36:46.52ID:tnAoTvL3 auto_ptr
scoped_ptr
shared_ptr
weak_ptr
scoped_ptr
shared_ptr
weak_ptr
655NAS6 ◆n3AmnVhjwc
2015/08/26(水) 15:07:52.81ID:soKtzAZv ttp://nas6.main.jp/sptr.cpp
コンストラクタが気に入らないみたいだから、よりポインタに近くしたぞ
コンストラクタが気に入らないみたいだから、よりポインタに近くしたぞ
656デフォルトの名無しさん
2015/08/26(水) 15:40:45.94ID:eIiWuCWx ひでえなあ…値全部コピーしてるだけで全然ポインタじゃない
しかも所有権管理全然できてないから、
コピーコンストラクタで渡すと移動せず不正アクセス
まだauto_ptrのがマシ
しかも所有権管理全然できてないから、
コピーコンストラクタで渡すと移動せず不正アクセス
まだauto_ptrのがマシ
657デフォルトの名無しさん
2015/08/26(水) 19:43:14.93ID:8NpsUOma >>654
俺が一番多用する unique_ptr 忘れてるぞ
俺が一番多用する unique_ptr 忘れてるぞ
658NAS6 ◆n3AmnVhjwc
2015/08/28(金) 16:08:10.30ID:+cnZnxxc ttp://nas6.main.jp/sptr.cpp
メイン.cpp
ttp://nas6.main.jp/NAS6_smt_ptr.h
クラス.h
テンプレートが分割コンパイルできなくて四苦八苦した
メイン.cpp
ttp://nas6.main.jp/NAS6_smt_ptr.h
クラス.h
テンプレートが分割コンパイルできなくて四苦八苦した
659デフォルトの名無しさん
2015/08/28(金) 17:46:52.81ID:k07is2fO 相変わらず、コンテナとスマポの概念がごっちゃになってる
ゴミだな
ゴミだな
660デフォルトの名無しさん
2015/08/28(金) 18:09:08.58ID:xcCBDptJ スマートポインタは標準ライブラリので間に合ってるから、テンプレートベースのツリー
コレクション作ってよ。
コレクション作ってよ。
661NAS6 ◆n3AmnVhjwc
2015/08/29(土) 15:45:43.98ID:pKiDa5SQ ttp://nas6.main.jp/sptr.cpp
メイン.cpp
ttp://nas6.main.jp/NAS6_smt_ptr.h
スマートポインタ.h
ttp://nas6.main.jp/NAS6_tree_clct.h
ツリーコレクション.h
メイン.cpp
ttp://nas6.main.jp/NAS6_smt_ptr.h
スマートポインタ.h
ttp://nas6.main.jp/NAS6_tree_clct.h
ツリーコレクション.h
662NAS6 ◆n3AmnVhjwc
2015/08/29(土) 16:03:10.94ID:pKiDa5SQ ttp://nas6.main.jp/sptr.cpp
メイン.cpp
ttp://nas6.main.jp/NAS6_cntn_ptr.h
コンテナポインタ.h
ttp://nas6.main.jp/NAS6_tree_clct.h
ツリーコレクション.h
コンテナポインタに改名した
メイン.cpp
ttp://nas6.main.jp/NAS6_cntn_ptr.h
コンテナポインタ.h
ttp://nas6.main.jp/NAS6_tree_clct.h
ツリーコレクション.h
コンテナポインタに改名した
663デフォルトの名無しさん
2015/08/30(日) 10:50:41.54ID:wmtDMCmd NASさんは物理板で意味不明な投稿連投してたからいいや
664NAS6 ◆n3AmnVhjwc
2015/08/30(日) 12:51:30.00ID:AMlzbaWO ttp://nas6.main.jp/secret/ContainerPtr.htm
コンテナポインタ説明ページ
コンテナポインタ説明ページ
665NAS6 ◆n3AmnVhjwc
2015/09/03(木) 05:41:08.75ID:G+oloE/W ttp://nas6.main.jp/secret/ContainerPtr.htm
コンテナポインタ説明ページ
メモリリークを退治した^^
コンテナポインタ説明ページ
メモリリークを退治した^^
666デフォルトの名無しさん
2016/05/01(日) 15:30:23.69ID:tKi6j9CT 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
x
BitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
x
667デフォルトの名無しさん
2016/05/20(金) 22:33:03.96ID:/6R1fTEV スレタイから既にカレー臭が漂っているな
668デフォルトの名無しさん
2018/05/23(水) 23:11:05.75ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IXJ2O
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IXJ2O
669sage
2018/06/29(金) 01:37:13.04ID:+q6FXOFo main除くならタイトルに書いておいてくれよ
670デフォルトの名無しさん
2018/07/03(火) 08:22:05.32ID:K5qOAxd5 そんなC特有の問題を単独スレでやって楽しいか?
671デフォルトの名無しさん
2018/07/04(水) 08:31:29.03ID:OhQ1jOSL 楽しいよ
672デフォルトの名無しさん
2018/07/04(水) 21:48:24.45ID:gFgZc5FG SIT
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- ネトウヨ、「高市さんがカンペを無視して存立危機発言をしたのは、岡田に『カンペ読むな』と執拗に言われたので言っただけ」と歴史を捏造 [314039747]
- コウメ太夫のネタ考えたから評価してくれ
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- 敵「ククク、キミの親友の俺くんの死体を蘇らせて操り、お前らと戦わせるぞ」お前ら「」←どうする?
- 【悲報】日本共産党、ツイッター速報にブチギレ法的措置WWWWWWWWWWWWWWWWWWWWWWWWWWWW [935793931]
