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.91■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 橋下徹氏「総理なら岡田さんに何を聴かれても耐えてほしかった」 高市首相の台湾有事めぐる答弁に# [jinjin★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 【DAZN/ABEMA】ブンデスリーガ・DFBポカール★7
- 【DAZN/ABEMA】リーグ・アン総合 ★5
- 競輪実況★1629 ゲロブスクソ雑魚蛯原
- こいせん 全レス転載禁止
- ハム専
- とらせん IP付き
- 【人権と意思】琉球は「万国津梁」と呼ばれ、かつては中国の藩属国であったが、日本は武力で琉球を併合した_大学教授 [979264442]
- pixivにイラスト投稿してまだ半日経ってないのに120ブクマ超えた
- ( つ・᷄ὢ・᷅ )つだっこ
- パチンコパチスロこてんぱんにやられたら3ヶ月くらい行かなくても平気になるんだが俺は依存症じゃないの?
- プロレスラーって場外に向かって飛ぶと受け止めようとするけど
- 着々とシンギュラリティに近づいてるよな
