mallocの後にfree不要と言うバカいるの?Part2

■ このスレッドは過去ログ倉庫に格納されています
2013/01/30(水) 21:38:37.44
fjの時代から10年以上に渡るmalloc/free問題について語ってください(^q^)

前スレ
main以外★mallocの後にfree不要と言うバカいるの?
http://toro.2ch.net/test/read.cgi/tech/1352812333/
2014/09/28(日) 02:56:51.92ID:MgcGxJig
>>317
そりゃ、プログラム終了までに開放すれば良いような、ヒープみたいなリソースなら良いけど、ファイルにしろDBにしろ他のプロセスなどと共用するリソースは、必要なくなったら即時開放が必須だろう。
2014/09/28(日) 07:40:32.09ID:YI897KP6
今の時代だとGC搭載のプログラムで動かしまくってるからなぁ
メモリなんてほぼ無限
Cのような言語で組まれたものならfreeしなくても大差ないくらいだよなぁ
でも入れるけど
2014/09/28(日) 08:12:04.95ID:fth8YQlj
>>316
ただのバカ乙 w
2014/09/28(日) 10:18:03.79ID:sfiCrzAs
> ていうかオブジェクト開放時にリソースも開放する設計にしとけばリソースも回収できる。
> GCは俺も余り好きじゃないが、GCがメモリだけ回収してリソース回収しないって認識は流石に…
↑ こいつ最高のバカ
メモリの使用状況をトリガーとするGCでメモリ以外のリソースも管理するとか。死ねゴミクズ。
2014/09/28(日) 11:05:15.19ID:yTX/1oq/
>>309
win31時代の話をされても
2014/09/28(日) 11:07:23.91ID:yTX/1oq/
>>321
GC はメモリ回収しかしないと思うよ、OSリソース回収は自分で書かないとね
C# や Java にもデストラクタがあったほうがよかったと思うことがしばしば
2014/09/28(日) 11:08:13.02ID:57+mjdrX
メモリリークもゴミみたい思える大きさだから、freeしなくてもいいって?
2014/09/28(日) 11:12:12.60ID:yTX/1oq/
リークを定義できない人間がfree()不要論を朗誦しているんですよ
2014/09/28(日) 11:52:29.34ID:FAkptdZZ
keep it simple stupid を誤解釈すると free不要になるのかも知れない
2014/09/28(日) 11:56:57.44ID:WvBy1dAf
レベル0: 常にfreeを書かない
レベル1: 常にfreeを書く
レベル2: 条件に合わせてfreeを省略すべきときだけ省略する
2014/09/28(日) 13:53:02.44ID:RpCDBRzc
ま、この場合のkissは「常にfreeする」か「一切freeしない」のどちらかだろうな
ハイブリッドにするのは最適化に近いので、最後の手段としたい
2014/09/28(日) 14:11:49.10ID:sHyLw6pq
>>328 そんな単純なことすら理解できず教条的に「freeしろ」と叫ぶだけのバカが、
まだこんなに多いとわかった、ってのが収穫だな。
2014/09/28(日) 15:07:03.68ID:RpgaQOqc
ポリシー君乙 w
2014/09/28(日) 16:34:11.76ID:yTX/1oq/
>>329
君、free() が不要な例と絶対に必要な例とをコードで示してくれないか?
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を組み込むのは禁止したほうが良い。

こういったことでしょうかね。
2014/09/28(日) 17:28:24.15ID:sfiCrzAs
freeしなくても良いか検討した上でfreeしないのだから、
ボンクラはガタガタ言うな。

と言うこと。
336デフォルトの名無しさん
垢版 |
2014/09/28(日) 17:34:34.94ID:SkMDQSso
開放忘れは指摘するべきではないということですかね。
2014/09/28(日) 17:37:26.24ID:57+mjdrX
わからない(わかってない)人に
間違ってます
とか言うと怒りますから
言わないほうがいいでしょうね
338デフォルトの名無しさん
垢版 |
2014/09/28(日) 19:08:55.44ID:SkMDQSso
>>337
間違ってます。
2014/09/28(日) 19:30:37.85ID:lwUZotcA
>>332
> 楽(らく)したいだけの人

検討したつもりになってるだけの人の可能性もあるぞ w
2014/09/29(月) 00:58:09.40ID:3GxNQMYW
>>337
それは真実だけど、そこを頑張らないと
2014/09/29(月) 00:59:53.42ID:xSX/Gj/Z
社会性ないから無理
2014/09/29(月) 07:47:22.78ID:wd4qvqdb
>>341
>社会性
「貴重なご意見感謝いたします」「鋭意善処して参ります」と放言して気分すっきりさっぱりする能力のことですね
343デフォルトの名無しさん
垢版 |
2014/09/30(火) 12:17:08.51ID:v0Hutm1t
Windowsは必ずFreeしないとクラッシュすると犬板で言ってた。
データ消えて大変だったらしい。
2014/09/30(火) 21:27:53.75ID:GBpQF1/L
UNIXでは非rootはリソースを使い切れないとかあるし、
コミットチャージを使い切ると次にメモリ確保しようとした奴が失敗する(たいていはそいつが死ぬ)から、
まぁ分からんでもないけど……OOMで無差別殺人されてるLinuxのユーザがそれを言うかね?
2014/09/30(火) 22:12:00.11ID:N6uFkPfQ
OOMキラーは一定のルールで重要なものを残すようになってるから
無差別殺人じゃないぞ。そんな基礎的なことも知らんのかね?
2014/09/30(火) 23:27:55.38ID:j0qHbCkI
そりゃ無差別殺人者だって本当に相手を選ばないことないからな
弱そうな奴とか、特定の人種とか
2014/09/30(火) 23:57:18.37ID:Z3ryMPKI
殺されないように、プログラムの先頭でおまじないを唱えよう。
2014/10/01(水) 13:45:52.76ID:n9ZGXeJV
いや一番ため込んでる富豪を狙い撃ちするんじゃね
2014/10/03(金) 11:53:06.51ID:8OTaypIY
C heap is cheap
2014/10/04(土) 09:03:51.86ID:X8tclADN
C's heap is not cheap but smple..
2014/10/04(土) 16:22:32.12ID:nRIrCQg7
freeしたいやつはして、したくないやつはしなければいい
それだけ
以上
終了
おつおつ
2014/10/04(土) 18:14:13.44ID:j+aw4iLv
ちゃんと free( ) できない奴って、いつも最後はその結論だね w
2014/10/04(土) 19:34:40.00ID:WpG7hkwu
教条主義者による断末魔の煽りって、いつもこうだよねw
2014/10/04(土) 19:58:41.25ID:ugcUiR2p
挙げ句の果てに
system("ls -l ./prog"); えいっ
2014/10/04(土) 22:12:06.07ID:X8tclADN
い、extern は要らない子ぉっ!!
2014/10/04(土) 22:25:18.34ID:j+aw4iLv
>>353
おうむ返ししかできなくて悔しいね w
2014/10/04(土) 22:57:28.17ID:WpG7hkwu
ワンパターン・バカがそれを言うと趣があるな
2014/10/04(土) 23:15:41.65ID:8UXXAPps
ワンパターン・バカ = いつものおうむ返し w
2014/10/04(土) 23:19:29.91ID:j+aw4iLv
>>357
お前か言うと重いなあ
そろそろお薬飲んだ方がいいんじゃないかな w
2014/10/05(日) 00:25:31.58ID:FZuSwsnO
芸人の持ちネタにそこまで過敏にならなくても‥
2014/10/05(日) 00:31:49.02ID:6amJApcn
あんたらもしかして頭は悪めな方??

>>351で終了だお
2014/10/05(日) 07:09:36.34ID:fbEOqD5u
無限ループ乙
363デフォルトの名無しさん
垢版 |
2014/10/09(木) 18:57:30.60ID:vRdoCwIm
標準のアロケータは万能じゃないから、カバーしきれない用途は自前で用意するって
話なんだけど、freeするのはアホって話で>>1000目指すよ。
用意いいかい?
2014/10/09(木) 20:36:35.27ID:9/qS7Lgu
おっけー
2014/10/09(木) 20:53:58.60ID:tOThY/oR
>>363
free/delete しないのなら自前のアロケータなんか要らないのでは?じゃんじゃん malloc() すればいいだけの話
366デフォルトの名無しさん
垢版 |
2014/10/09(木) 23:16:03.38ID:vRdoCwIm
せやな。
RAM512KBでも普通に動いてたしな、16GBも有ったら解放する必要あらへん。

知ってるか?
16GBは64億個の0と64億個の1が有るのや、合わせて128億個やで。
128億という数は、地球上に有るすべての砂の数より多いねんで。
こんなん使い切れるわけあらへんしな。
2014/10/10(金) 00:31:13.03ID:sOr9aeNy
一人ではね。
2014/10/10(金) 04:16:27.17ID:KCO91E8u
人間だけでも70億人以上いるらしいんだが
世界の砂ってそんなに少ないのか
369デフォルトの名無しさん
垢版 |
2014/10/10(金) 07:42:18.41ID:JpN3UDQu
てか、GCって駄目じゃね?

GCあってもメモリリーク問題解決してないやん
なら、最初から自分で管理するという教育をした方が良くね?
2014/10/10(金) 08:11:32.03ID:Npcpt0Da
freeしたいやつはして、したくないやつはしなければいい
それだけ
以上
終了
おつおつ
2014/10/10(金) 08:30:54.00ID:kwgAp7cQ
>>368
冷静かつ的確な指摘すぎてワロタ
2014/10/10(金) 12:50:29.54ID:4Jxm1TDD
>>370
また、無限ループか
free() できない奴のアホさが滲み出てるな w
2014/10/10(金) 18:16:01.82ID:Xd6YjWLK
そりゃ何を free() していいのか、何を free() しなくていいのか、わかっていないからね‥
374デフォルトの名無しさん
垢版 |
2014/10/11(土) 01:03:15.48ID:ZmK/zNnJ
freeしない生き方を選択したとき、精神は解放されるんやで。
覚えとき。
2014/10/11(土) 06:58:25.56ID:BpoU1i8h
>>374
C/C++ を諦めて C# に行くんですね
もう帰ってこないでね w
2014/10/11(土) 09:22:03.50ID:8nW7oHJ6
>>370
いやこれでまじで終了だろ
2014/10/11(土) 09:33:07.63ID:Qk2dzUbv
>>374
非マの生き方を選択したとき、精神は解放されるんやで。
達者でな。
2014/10/11(土) 09:42:45.54ID:/AOb9xWD
クラスの中に放り込んで管理してるから、freeしたくなくても勝手にfreeされるんだが
2014/10/11(土) 10:00:29.43ID:BpoU1i8h
>>376
はいはい、終わりだからもう来るなよ
2014/10/11(土) 11:44:11.01ID:8nW7oHJ6
>>379
おまえもなー
2014/10/11(土) 12:39:02.40ID:povbJtsL
>>380
うざ、来るなって言われてるのに、free もできないバカはこれだから
2014/10/11(土) 13:20:27.24ID:oD37Hh5X
おまえのようなバカが他で暴れないようにするためにこのスレがあるんだよw
2014/10/11(土) 13:55:55.55ID:BpoU1i8h
>>382
>>380
2014/10/11(土) 16:47:40.65ID:8nW7oHJ6
(´・ω・`)
2014/10/12(日) 14:14:14.69ID:n4H9xNXC
ネバーエンディングストーリー♪
2014/10/12(日) 14:29:10.77ID:sv4A2Uaz
>>384
まだいたのかよ w
2014/10/12(日) 14:33:27.20ID:HHh3+SMY
>>386
>>383 ID: BpoU1i8h
2014/10/12(日) 15:18:47.16ID:sv4A2Uaz
>>387
俺は終わりだとかは言ってないけど?
free が必要かどうかの区別もつかないバカはこれだから w
2014/10/12(日) 15:30:56.77ID:63mVogyM
mallocの先にfreeしてみてはどうだろうか
2014/10/12(日) 15:35:01.76ID:HHh3+SMY
>>388
freeは必要だが、場合によってはOSに任せとけって言うやつがいるから
結論として>>370で終了なんだよ
何度言ったらわかるんだ
2014/10/12(日) 15:46:26.73ID:yWo9u0cs
freeできることの判断を局所化することはできるが、freeしなくても問題ないという
判断は大域的にならざるを得ない。あとはセンスの問題だ。
グローバル変数バンバン使って平気な人もいるしな。
2014/10/12(日) 16:02:22.91ID:sv4A2Uaz
>>390
お前のなかでは終わりなんだろ?
もう、でてくんなよ
2014/10/12(日) 16:04:41.38ID:HHh3+SMY
>>392
ワロタw
2014/10/13(月) 00:21:10.29ID:Kelszug8
free必須教の第一信徒はQz
395デフォルトの名無しさん
垢版 |
2014/10/13(月) 08:15:56.25ID:BlK6LuSG
>>297はブログに書くことじゃなくてツイッターにでも書けばいい。

「私はRAIDの復旧にcpを使うバカです」

一行で済む。
2014/10/13(月) 08:39:15.72ID:qVWnI3+v
RAID 6 ってつよいの?
397デフォルトの名無しさん
垢版 |
2014/10/13(月) 10:04:05.65ID:XwZMSYHG
>>395
RAIDの復旧じゃなくて、復旧不可能なRAIDから生きてるファイルを吸い上げる
だろ、本当にfree必須教信者は頭が悪いな
2014/10/13(月) 10:04:24.56ID:PPv6Llzm
>>297 の事情はよくわかる、所詮 free() はプロセスがOSから取得したメモリブロックのなかでのつじつまあわせ
2014/10/13(月) 10:49:30.16ID:7i+sJhXA
>>397
> RAIDの復旧じゃなくて、復旧不可能なRAIDから生きてるファイルを吸い上げる

本質に関係ないところに突っ込むしかないアホが不憫だ w
2014/10/13(月) 10:57:56.36ID:/QBpY+Db
必須派vs不要派 っていう対立が不毛だわな
ワザとやってるのかそれが分からないのか
必須派vs必須じゃあないだろう?派 ってだけだろ
2014/10/13(月) 11:04:25.31ID:yDwfk/q+
いや逆じゃね。
現実的にはほぼ必須派と、常に要らない派との争いで
何故か常に要らない派が、分かっていて
freeしなくてもいいある意味特殊な例を
持ち出して、だからfreeは必要ないみたいに
無茶な論理を成り立たせようとしているだけ。
2014/10/13(月) 11:08:58.83ID:qVWnI3+v
不要であるという結論ならば必須派は無駄なことをしていることになる
だが
必要であるという結論ならば不要派がこれまで書いたプログラムがゴミとみなされる

ゆえに必死
403デフォルトの名無しさん
垢版 |
2014/10/13(月) 11:28:22.88ID:XwZMSYHG
>>399
お前>>395だろ
本質じゃない処に突っ込んでるのはお前
バカ過ぎる

>>401
ネタ以外で常に要らないなんて言ってる奴は居ない
本気で、いかなる場合と必要と言ってるバカが居る
404デフォルトの名無しさん
垢版 |
2014/10/13(月) 11:30:56.35ID:BlK6LuSG
そんなことより、小沢GOGO!チャイニーズ for see.の意味が分からん。
2014/10/13(月) 11:58:25.05ID:AG4RYcUu
>>401みたいな知能だと生きていくのも大変なんだろうな
2014/10/13(月) 12:19:26.06ID:93elBZWE
>>403
> 復旧不可能なRAIDから生きてるファイルを吸い上げる

で、なにが違うか書いてみな w
407デフォルトの名無しさん
垢版 |
2014/10/13(月) 12:24:50.21ID:XwZMSYHG
>>406
書いてみなじゃなくて、教えて下さいだろ、池沼
2014/10/13(月) 12:27:56.27ID:HMQ6z8sD
>>403
「常に」じゃないとすると、どういう基準で要る要らないを判断するのかという話に
なるわけだけど、「exit()の直前は要らない、それ以外は要る」でいいんだっけ?
409デフォルトの名無しさん
垢版 |
2014/10/13(月) 12:45:44.40ID:BlK6LuSG
4億3200万ファイル40TBをたかがメモリー10GBのUbuntuで、cp使ってコピー
しようという考えが、頭が悪いという以前に気が狂ってるんだよ。

「UNIXという考え方」などとのたまってそうだよな。
2014/10/13(月) 12:45:52.23ID:zxgBYiLP
ヒープに空きを作りたいときに呼ぶ、たったそれだけのこと。
2014/10/13(月) 12:49:47.31ID:7i+sJhXA
>>407
いつもの書けない言い訳乙 w
412デフォルトの名無しさん
垢版 |
2014/10/13(月) 12:53:11.61ID:BlK6LuSG
空きを作りたい時を決定するのに時間がかかるから、こまめに開放する。

こういう事を書くと、「空きを作りたいときに、配列のサイズ調べるだけだろ?」
みたいなことを言い出す奴が必ず出てくる。

もうアホすぎて話にならない。
2014/10/13(月) 13:03:24.91ID:HMQ6z8sD
>>410
空きを作りたいときに破棄できるポインタが常に手元にあるわけじゃないだろうし。
まさかそこでまとめてfreeするために、freeせずに取っておいたポインタを渡すというのも
本末転倒だろうし。
それ以前にそもそも、コードのこの部分を実行するときは空きが必要だがこの部分では
必要ないと判断するのも大変そうだなぁ。さらに、必要なときに空きを作れるようにするには
結局freeするコードは記述しておかなくちゃならんわけだよね。
2014/10/13(月) 13:10:03.92ID:KgL42j04
>>413
したいときに、つってるやん。
理由があってfree呼び出し遅延させたいならそうすればいいし、
とっとと片付けておきたいならすぐ呼び出せばいい。
呼びたきゃいつでも呼んでいいんやで? 望みどおりにすればいい。
415デフォルトの名無しさん
垢版 |
2014/10/13(月) 13:25:54.46ID:BlK6LuSG
>>414
呼び出したいときを知るのが大変。

いつ呼び出すかについて仕様を述べよ。
2014/10/13(月) 13:30:14.38ID:HMQ6z8sD
要は、一貫したルールはないけど好きなようにやらせろと。まぁ、それは自由だな。
2014/10/13(月) 13:35:35.68ID:5jSvrI4w
>>416
一貫したルール云々はよく分からんが、
とにかく自由なんだよ。freeは義務じゃなくて権利な。
空きを作りたいとき呼べば、空きが出来る。それだけ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況