[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/09 19:09 / Filesize : 24 KB / Number-of Response : 151
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

malloc



1 名前:デフォルトの名無しさん [2008/12/05(金) 16:26:49 ]
amarok

52 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:01:32 ]
今時なら、最悪のケースを見積もって500MB以下に収まるなら、freeしなくていいだろう。
freeを呼び出す事によるパフォーマンスダウンやエンバグの可能性も無視出来ない。
malloc()よりfree()の方が重い環境も少なくない。

53 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:12:05 ]
>>52は相当のワルだな

54 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:43:46 ]
懐かしいなぁ。
どこかにfjのmalloc論争ヲチスレがあったような気がするが、
一番最後の論争はいつ頃だったんだろうな。

55 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:04:48 ]
>54
昔見た事があるような気がする。
niftyのC言語フォーラムでも。

今じゃ、ガベコレ様が良きに計らってくださるので、一般庶民は論争する気も起きないか。

56 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:07:47 ]
おれboolean論争なら参加してたよ

57 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:14:42 ]
if (1 == a) か
if (a == 1) か論争なら・・・

58 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:17:25 ]
return文に括弧をつけるか論争って無かったっけ?

……いや、無かったかも。

59 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:30:44 ]
例えしなくてよいのだとしても、いちいち丁寧に解放するのが俺流
RegisterClassしたら最後にUnregisterClassしとけよみんな

60 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:52:45 ]
>>58
そのネタはたまに出てくるけど、いまいち盛り上がらん。



61 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:55:29 ]
>>58
関数型やるとその辺の疑問が氷解するよ

62 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 14:39:20 ]
またワケの判らんことを唐突に言い出す >>61 が盛り上げてくれるそうだ。

63 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 22:02:49 ]
結局、malloc/free論争は、どっちが勝ったの?

64 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 00:40:06 ]
どっちが勝つも負けるもないよ。

65 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:20:28 ]
「トイレを使った後、便座は上げておくべきか、下げておくべきか」 くらいつまらん。

66 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:23:59 ]
malloc/freeを直接使う事はめったにない


67 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:24:39 ]
それは答えがはっきりしている。
人感センサーつきのオート便座なら勝手に閉じてしまうし、
暖房便座はエコの観点から下げておくべきだ。
# 勿論、蓋がある場合だが。

68 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:32:27 ]
人感センサーつきのオート便座なら勝手に閉じてしまう。
プロセス終了時にOSが全部処理してくれる。

69 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 01:50:03 ]
これが新たな宗教戦争のテーマになったりして。

ないか…


70 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 02:09:34 ]
newsgroupで一時期フィーバーしてたじゃない
malloc free 論争
なんかでヤフれ



71 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 02:43:20 ]
freeに関して、OSが処理してくれると言うのはOS「依存」なんだよなぁ
確実にfreeしろとは言わないけどしなくていいと言うのもあれだよな。

72 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 02:51:28 ]
Windows しか知らずに
僕らは生まれた
Windows しか知らずに
僕らは育った
僕らの名前を 覚えて欲しい
Windows しか知らない
クソ プログラマーさ


73 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 03:17:05 ]
確実にfreeする奴は偏執狂。
そのうちに鬱で自殺するタイプ。

74 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 03:24:39 ]
freeするもしないもその人次第だとは思うけど、こだわってとやかく言ってる>>73も偏執者だと思うけどね。


75 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 05:35:15 ]
環境や目的によってケースバイケースでどちらかが絶対的に正しいなんてことはないでしょ。

76 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 06:04:36 ]
>75
そんな弱気じゃ、fjに参加出来ませんよ。

77 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 07:27:58 ]
スラドへでも逝け

78 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 09:49:00 ]
スラドってガキばっかじゃん

79 名前:名無し募集中。。。 [2008/12/13(土) 09:58:39 ]
スラドの○○なのでACってのが意味解らん
むしろ主張したいときこそ名乗れよw

80 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 10:43:31 ]
キモオタをむりやりnerd(笑)って言い張ってますよね



81 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 10:51:19 ]
nerdはもともとそういう意味じゃないか?

82 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 12:49:40 ]
freeしない奴の部屋って床が見えないくらいゴミが散乱してそうな感じ
freeしない奴のデスクって仕様書とゴミの山で埋まってそうな感じ

83 名前:デフォルトの名無しさん [2008/12/21(日) 16:32:42 ]


84 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:02:18 ]


85 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:31:00 ]


86 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:31:31 ]


87 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:35:29 ]


88 名前:デフォルトの名無しさん mailto:sage [2008/12/21(日) 17:35:34 ]


89 名前:名無し募集中。。。 [2008/12/21(日) 17:57:30 ]
のサイン〜
き〜っと〜何年経〜っても〜

90 名前:デフォルトの名無しさん [2008/12/28(日) 06:15:19 ]
a



91 名前:デフォルトの名無しさん [2008/12/28(日) 06:46:29 ]
mallocってどういう仕組みになってるの?
連続した物理アドレスじゃないのってプロセス側からはどうやっても判別不可能なの?

92 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 07:24:12 ]
「Is not A not B ?」って聞かれるとイラッっとくるのは俺だけ?
ゲンコツ食らわしたい

93 名前:デフォルトの名無しさん [2008/12/28(日) 08:30:46 ]
英語通気取りですかw

94 名前:デフォルトの名無しさん [2008/12/28(日) 09:31:47 ]
>>91
そんなこと言う人いるんだww

95 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 09:36:59 ]
>>94
そんなレスしかできないんだww

96 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:20:29 ]
てか >>91 の質問がいまいちよく解らんのだが
>mallocってどういう仕組みになってるの?
ソース嫁。
>連続した物理アドレスじゃない
かどうかはどうでもよくて
>プロセス側からはどうやっても判別不可能なの?
Cの標準ライブラリでは提供されてないが
OSのAPI呼び出しで提供されてるかも知れない。環境次第。

97 名前:デフォルトの名無しさん [2008/12/28(日) 10:23:59 ]
>>96
代表的な環境であるwindowsとmacではどうなっていますか?

98 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:29:24 ]
>>97
Mac は知らんが、Win には int _CrtIsValidHeapPointer(void *) がある。
但し _DEBUG 付きでビルドしたときのみ。

まあ、C ってのは「ヒープに限らず
リソースは自分で管理しろ」ってスタンスだからなあ。

99 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 10:59:24 ]
>_CrtIsValidHeapPointer
>指定されたポインタがローカル ヒープにあることを検査します (デバッグ バージョンだけ)。
これは連続性は全く関係なさそうだけどw
’物理的に’連続したものが欲しい時は結局ドライバ回りのコードに頼るしかなさそうだね。

100 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 11:07:55 ]
そもそも連続した物理メモリなんてハードからまなきゃ必要なかろう。




101 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 11:12:29 ]
>>96
Macのどこが代表的なんだ?

102 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 00:00:37 ]
いっぱんむけ商用OSとしてじゃまいか



103 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:37:11 ]
libgstreamer
streamtuner

104 名前:デフォルトの名無しさん [2009/01/03(土) 04:13:11 ]
freeに渡すのは 識別子 ではない(名言)

105 名前:デフォルトの名無しさん [2009/01/03(土) 04:35:13 ]
pc11.2ch.net/test/read.cgi/tech/1229639514/689
free()に渡すのは識別子ではなくポインタの値で、

106 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 13:05:17 ]
つまり、free()が受け取るのはポインタの値なんですね、わかります。

107 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 13:25:38 ]
tcmalloc

108 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 14:02:59 ]
識別子渡さなきゃいけないとなると
リンク時にシンボルのstripできないじゃないか。

109 名前:デフォルトの名無しさん mailto:sage [2009/01/03(土) 22:58:50 ]
なんであんなにぶったたかれてるのかまったくわからん

110 名前:デフォルトの名無しさん [2009/05/29(金) 22:06:41 ]




111 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 21:03:15 ]


112 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 00:53:00 ]


113 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 18:52:24 ]


114 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 02:54:03 ]


115 名前:デフォルトの名無しさん [2009/06/09(火) 17:26:42 ]


116 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 07:24:48 ]


117 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 13:22:57 ]


118 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 15:36:24 ]


119 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 16:41:41 ]


120 名前:デフォルトの名無しさん [2009/12/04(金) 07:44:50 ]




121 名前:デフォルトの名無しさん [2009/12/08(火) 22:11:00 ]
int* p;
p = null;
*p = 0xFF;

122 名前:デフォルトの名無しさん mailto:sage [2009/12/08(火) 23:54:06 ]
定期保守乙

123 名前:デフォルトの名無しさん [2009/12/23(水) 10:16:41 ]
mallocひどいお・・・

124 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:01:15 ]
Cでmallocの戻り値をキャストするのは素人。

125 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:24:45 ]
C言語で書いたあるライブラリのあるソースがあるC++のコンパイラでコンパイルされる可能性を考慮してmalloc()の戻り値をキャストするのは玄人
当然のように条件コンパイルやextern "C"を使うのも玄人

malloc()の戻り値をキャストするなというのはド素人

126 名前:デフォルトの名無しさん mailto:sage [2009/12/23(水) 15:26:55 ]
キャストするとかどうでもいいし。
int* p;と書くかint *p;と書くかの違いくらいどうでもいい。

127 名前:デフォルトの名無しさん [2010/01/11(月) 10:12:27 ]
超良スレ

128 名前:デフォルトの名無しさん [2010/01/11(月) 11:27:22 ]
さすがマロックだな

129 名前:デフォルトの名無しさん [2010/01/16(土) 20:54:36 ]
マロックを使えばメモリは俺の物

130 名前:デフォルトの名無しさん mailto:sage [2010/01/16(土) 20:55:53 ]
newすればするほどメモリはお前のものだ

メモリがほしいならnewをしろ



131 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 04:26:39 ]
NULLを返されたらどうすればいいんですか><

132 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 04:44:20 ]
死ねばいいとおもうよ。

133 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 06:23:20 ]
abortなりassertなり

134 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 12:20:36 ]
mallocやnewに失敗する状態の時は
どうせなにやってもその後まともに動作しないんだから
アロケートのエラー取得なんてやらなくていいんだよ。

135 名前:デフォルトの名無しさん mailto:sage [2010/01/17(日) 15:20:53 ]
ということにしたいのですね?

136 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 00:13:38 ]
まあエラーダイアログくらいは出したいよね気分的に

137 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 01:15:56 ]
ダイアログ出そうとしてさらにどつぼにはまるくらいなら逝ってよし

138 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 10:59:05 ]
ダイアログを出すのに必要なメモリが確保できない

139 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:46:32 ]
1ペタバイトとか取得要求して
malloc(1024*1024*1024*1024*1024) なんて与えてNULLが
帰ってきた時に、何もせずに終了ってのモナ
昔は「論外、ご冗談を。無視します」で許されたかもしれない
が、今はそんな巨大なメモリ取得出来ませんって程度のメッセー
ジは欲しいところ。

140 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:52:00 ]
確かに debug 中はそれでもいいかもしれないが release 時にそのままじゃいかんだろ



141 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 14:53:25 ]
mallocでNULLが返ってくる状況では、何をしてもダメ

神話。
今やUNIXコンソールアプリとかでも、mallocはプロセス管理やシステムコール領域とは独立分離されているので、プロセスが本当に何も
出来なくなるクリティカルな状況よりずっと低いレベルでNULLが
返ってくるように設定されている。よってエラー処理ルーチンは
必要。

142 名前: ◆0uxK91AxII mailto:sage [2010/01/18(月) 18:08:23 ]
ふつーえむあろっく。

>>132
秀逸杉る。

143 名前:デフォルトの名無しさん mailto:sage [2010/01/18(月) 18:54:09 ]
>>141
出来の悪い架空記憶を採用したOSでは
p=malloc(1024*1024*1024*2)としても
平気で普通の値を返してくる。
ところが p[1024*1024*1024*2-1]='¥0'
とした瞬間、ディスクがガシャガシャ動き出し
サクサク動いていたマシンのマウスが殆ど
動かなくなったり、ちょっと昔の奴だと
ブルースクリーンになってリセットボタン
すら利かない状態になったりしたものだが...
今は仮想記憶だから大丈夫だよね。

144 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 03:26:53 ]
>>136の自分レス補足だけど、Win32の場合、システムモーダルメッセージボックスを作成するときに
失敗する可能性あるからリソースから文字列取得するなよ、っていうのがリファレンスに載ってるから
そういう危機的な状況でもMB_SYSTEMMODALを指定すれば頑張って表示してくれるんじゃないのか?
と思ってるんだけど、実際そういうテストやったことないから正直よく分からん

145 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 15:14:12 ]
よく訓練されたPGならエラーダイアログくらい一番最初に確保しておくよね(´・ω・`)

146 名前:デフォルトの名無しさん mailto:sage [2010/01/19(火) 22:39:13 ]
Windowsのアホなところはそんなことをしても無駄だということだ

147 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 19:52:35 ]
無駄無駄無駄、無駄な努力はしない

148 名前:デフォルトの名無しさん mailto:sage [2010/03/20(土) 08:23:59 ]
>>143
たった2GBでスワップとかどんな罰ゲームなんだよw と思っていた。
でも実際、Windows用のアーカイバーで間抜けのがあるらしく、2GBのtar.gzを
メモリ上に展開しようとしてスワップ地獄に陥ってしまった。
なんでgnuzip展開とtar展開を全部オンメモリでやろうとするかね。

149 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 10:06:28 ]
>>143
Mac OS Xがそうだったなぁ。
しかもswapを動的に確保するから、ディスクの空きが少ない状況でこれが起きると
にっちもさっちもいかなくなった。

150 名前:デフォルトの名無しさん [2010/04/22(木) 05:17:19 ]
宇宙海賊キャプテンmalloc








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<24KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef