[表示 : 全て 最新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

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