malloc

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
amarok
2デフォルトの名無しさん:2008/12/05(金) 16:29:54
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
3デフォルトの名無しさん:2008/12/05(金) 23:45:44
めろっく
4デフォルトの名無しさん:2008/12/05(金) 23:53:51
ファイアークリスタルの呪文で、こんな名前の奴なかったっけ?
5デフォルトの名無しさん:2008/12/06(土) 08:25:00
malloc
calloc
alloca
6デフォルトの名無しさん:2008/12/06(土) 13:38:00
何故にamarok
7デフォルトの名無しさん:2008/12/06(土) 17:04:32
realloc
8デフォルトの名無しさん:2008/12/06(土) 17:16:44
GC_malloc
9デフォルトの名無しさん:2008/12/06(土) 18:12:50
GlobalAlloc
LocalAlloc
10デフォルトの名無しさん:2008/12/06(土) 18:44:33
palloc
11デフォルトの名無しさん:2008/12/06(土) 19:17:20
         |;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ノ|
         |丶、 ;;; __;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;_,,: ィ";;_|
         ト、;;;;;;;;;;;;;;;` ` '' ー -- ‐ '' ";;;;;;;;;,:ィ;:;!
        ,';:``' ‐ョ 、 ,_ ;;;;;;;;;;;;;;;;;;;;;;;;;;; , - '"l;:;:;:;:l
        l;:;:;:;:;:;:;ミ   ` ` '' ー -‐ '"    ,リ;:;:;:l
        l;:;:;:;:;:;:;:ゝ   く三)   (三シ  `ヾ;:t、
       fミ{;:;:;:;:f'´  , -−-_,, _,ィ 、_,,ィ,.-−、  };f }
       l トl;:;:;:;:l  、,ィ或tュ、゙:ミ {,'ィt或アチ l:l,/
       ゙i,tヾ:;:;:!  `ヽ 二ノ   ト ` ‐''"´  l:l:f  麻呂
        ヽ`ー};:l       ,r'、   ヽ      リ_)
         `"^l:l      ,/゙ー、  ,r'ヽ    l
           ゙i    ,ノ    `'"  丶.   ,'
             ゙l、   ′ ,, ィrェェzュ、,_ 〉 } /
            ',ヽ  ヘヾ'zェェェッ',シ' //ヽ
             } 丶、 ` ー--‐ '"'´,/ノ:.:.:ヽ
            /l   丶、      ,.イ:.:.:.:.:.:.:.:丶、、
          ,r'"^l !    ` ー‐;オ´:.:.:.:.:.:.:.:.:.,ノ  ,}、
     ,. -ァ=く(:.:.:.l  l      //:.:.:.:.:.:., - '"  ,/ ヽ、
  , - '"´ / ,/`>'t、_」___,ィ'゙,ィ,.: -‐ '" ,. -‐ '"    \
/    ヽ-(  / / f   }li,     ,. -‐ '"          \
12デフォルトの名無しさん:2008/12/06(土) 19:33:36
こいつは俺の脳内で
http://jp.youtube.com/watch?v=BHYhESFajOM
に変換される。
13デフォルトの名無しさん:2008/12/08(月) 11:45:20
int i, *p, **pp;
pp = malloc(10 * sizeof(int*));
for(i = 0; i < 10; i++) pp[i] = malloc(10 * sizeof(int));

/*これで pp はint pp[10][10]のような配列のように使える*/

for(i = 0; i < 10; i++) free(pp[i]);
free(pp);
14デフォルトの名無しさん:2008/12/08(月) 12:00:40
キャストを忘れていた。ごめん
pp = (int**)malloc(10 * sizeof(int*));
pp[i] = (int*)malloc(10 * sizeof(int));
15デフォルトの名無しさん:2008/12/08(月) 12:19:06
>>14
malloc()の呼び出し回数が、int pp[m][n]としたときにm+1も掛かって効率が悪い。
二次元配列的に使う用途なら、二回呼び出しで済ませる実装で充分。
# その場合、一次元アクセスも可能なので尚好都合。
16デフォルトの名無しさん:2008/12/08(月) 14:57:38
mallocの返り値をcastするやつはばかです
17デフォルトの名無しさん:2008/12/08(月) 15:06:49
C++だとキャストしないと代入さえできないのねん。
18デフォルトの名無しさん:2008/12/08(月) 15:58:32
俺はamarokよりはxmms派だな
19デフォルトの名無しさん:2008/12/08(月) 19:58:32
scmpx
20デフォルトの名無しさん:2008/12/09(火) 10:56:35
int i, *p, **pp;
pp = (int**)malloc(20 * sizeof(int*));
p = (int*)malloc(20 * 10 * sizeof(int));
for(i = 0; i < 20; i++) pp[i] = &p[i * 10];
/*これで pp はint pp[20][10]のような配列のように使える*/
free(p);
free(pp);
21デフォルトの名無しさん:2008/12/09(火) 11:20:28
int i, *p, *pp;
pp = (int**)mallc(20 * sizeof(int*) + 20 * 10 * sizeof(int));
p = (int*)((char*)pp + 20 * sizeof(int*));
for(i = 0; i < 20; i++) pp[i] = &p[i * 10];
/*これで pp はint pp[20][10]のような配列のように使える*/
free(pp);
22デフォルトの名無しさん:2008/12/09(火) 11:21:43
さすがにこれはやりすぎか。
23デフォルトの名無しさん:2008/12/09(火) 12:52:12
free要らない派登場
24デフォルトの名無しさん:2008/12/09(火) 13:02:02
>>21
int (*pp)[10] = (int (*)[10])malloc(20 * 10 * sizeof(int));
じゃ駄目なのかと。
25デフォルトの名無しさん:2008/12/09(火) 13:13:45
>>24
すげー
26デフォルトの名無しさん:2008/12/09(火) 13:44:47
よく「〜じゃ駄目なの」って書き方する人いるよね。よっぽど自分に自信が無いのかな。
27デフォルトの名無しさん:2008/12/09(火) 14:44:50
テストの後に、「100だYO!」と宣言しておいて
85点が返ってくるより、「0点かも」と…
2824:2008/12/09(火) 17:04:33
>>26
「何かしら事情があってそうなっている」可能性を無視してまで
俺様論をゴリ押しするほど傲岸不遜な人間じゃないもんで。
まあタマに皮肉を含めることはあるけども。
29デフォルトの名無しさん:2008/12/09(火) 18:32:51
24だと定数式が必要になってしまうから駄目な事もあるだろうしな。
30デフォルトの名無しさん:2008/12/09(火) 20:03:27
CFAQに載ってるような話題でいまさらよく盛り上がれるなお前ら
31デフォルトの名無しさん:2008/12/09(火) 23:04:20
mallocしたら絶対freeしろよ、おまいら。
32デフォルトの名無しさん:2008/12/09(火) 23:35:25
#define LENGTH 128
near char *s = (char *)malloc(sizeof(char) * LENGTH);
char s2[LENGTH];
s == s2
free(s);
3315:2008/12/09(火) 23:51:49
>>21
>20相当のコードは割かし書くけど、>21も中々いいね。

>>24
>29の理由で今一つ。そうでないならシンプルでいいね。
# 例えば、どうせ動的に変えないパラメータなのに可変にしないと気が済まない客がいたりしてね……
34デフォルトの名無しさん:2008/12/10(水) 01:43:11
>>28
皮肉っぽいからキモチワルイんだよ。
35デフォルトの名無しさん:2008/12/10(水) 05:26:16
>31
お前らの書くプログラムなんかで何時間も動かし続ける奴は無いんだから、
freeの必要無し。プロセス終了時にOSが全部処理してくれる。
36デフォルトの名無しさん:2008/12/10(水) 10:12:56
>>34
清々しい皮肉なんて、皮肉として成立してないだろ。
(書いてて思ったが、「皮肉」って文字が
 気持ち悪くなってきた。皮と肉だぜ?)
37デフォルトの名無しさん:2008/12/10(水) 18:12:22
皮肉

皮肉とは、欠点や弱点を意地悪く遠まわしに非難すること。
皮肉の語源・由来

皮肉は、中国禅宗の達磨大師の「皮肉骨髄(ひにくこつずい)」が語源で、元は仏教用語。
「皮肉骨髄」とは、「我が皮を得たり」「我が肉を得たり」「我が骨を得たり」「我が髄を得たり」と、大師が弟子たちの修行を評価した言葉である。
骨や髄は「要点」や「心の底」の喩えで「本質の理解」を意味し、皮や肉は表面にあることから「本質を理解していない」といった非難の言葉であった。
そこから、皮肉だけが批評の言葉として残り、欠点などを非難する意味で使われるようになった。
38デフォルトの名無しさん:2008/12/10(水) 18:28:04
「〜じゃだめなの?」
「〜じゃだけなのかと。」

語尾が変わるだけでも、ずいぶん印象が違うね。
後者の方が皮肉っぽくてキモチワルイ。
おまい、ケンカ売ってるのか?
39デフォルトの名無しさん:2008/12/10(水) 18:31:50
2ちゃんねるで後者の場合、後ろに「小一時間問い詰めたい」が省略されているような気がするから困るw
40デフォルトの名無しさん:2008/12/10(水) 18:43:40
「〜じゃだめなの?」
「〜じゃだめなのかと。」

誤字訂正しとく。ツッコミ入れられる前に。
41デフォルトの名無しさん:2008/12/11(木) 16:08:57
プロセス終了時にOSが全部処理してくれる。

しねーよ禿
42デフォルトの名無しさん:2008/12/11(木) 21:46:08
OSによりけりだよ >>Windows しかOSを知らない人
43デフォルトの名無しさん:2008/12/11(木) 21:58:26
他のマイナーOSの事情をここで語っても無意味だから
Windows限定で。
44デフォルトの名無しさん:2008/12/11(木) 22:08:48
そのWindowsに3.1/95/NT/Me は含まれているのでしょうか
45デフォルトの名無しさん:2008/12/11(木) 22:12:06
現サポート製品に限られます
46デフォルトの名無しさん:2008/12/11(木) 22:19:32
少なくともwindowsで勝手にfreeしてくれるなんて事はない。
プロセス空間ごと消滅するだけで。
47デフォルトの名無しさん:2008/12/11(木) 22:25:35
なら問題ないじゃん
48デフォルトの名無しさん:2008/12/11(木) 22:26:30
組込用OS以外では、プロセス空間ごと消滅するからfreeしなくていい

これでOK?
49デフォルトの名無しさん:2008/12/11(木) 22:32:27
起動してすぐ終わるバッチ処理限定でね
50デフォルトの名無しさん:2008/12/11(木) 22:34:12
再利用する間もなくさくっと終わるプログラムならいいんじゃね?
51デフォルトの名無しさん:2008/12/11(木) 22:49:23
31 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/09(火) 23:04:20
 mallocしたら絶対freeしろよ、おまいら。

35 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/10(水) 05:26:16
 >31
 お前らの書くプログラムなんかで何時間も動かし続ける奴は無いんだから、
 freeの必要無し。プロセス終了時にOSが全部処理してくれる。

46 名前:デフォルトの名無しさん[sage] 投稿日:2008/12/11(木) 22:19:32
 少なくともwindowsで勝手にfreeしてくれるなんて事はない。
 プロセス空間ごと消滅するだけで。

>>46 は頭悪すぎるぞw
52デフォルトの名無しさん:2008/12/11(木) 23:01:32
今時なら、最悪のケースを見積もって500MB以下に収まるなら、freeしなくていいだろう。
freeを呼び出す事によるパフォーマンスダウンやエンバグの可能性も無視出来ない。
malloc()よりfree()の方が重い環境も少なくない。
53デフォルトの名無しさん:2008/12/11(木) 23:12:05
>>52は相当のワルだな
54デフォルトの名無しさん:2008/12/12(金) 00:43:46
懐かしいなぁ。
どこかにfjのmalloc論争ヲチスレがあったような気がするが、
一番最後の論争はいつ頃だったんだろうな。
55デフォルトの名無しさん:2008/12/12(金) 02:04:48
>54
昔見た事があるような気がする。
niftyのC言語フォーラムでも。

今じゃ、ガベコレ様が良きに計らってくださるので、一般庶民は論争する気も起きないか。
56デフォルトの名無しさん:2008/12/12(金) 02:07:47
おれboolean論争なら参加してたよ
57デフォルトの名無しさん:2008/12/12(金) 02:14:42
if (1 == a) か
if (a == 1) か論争なら・・・
58デフォルトの名無しさん:2008/12/12(金) 02:17:25
return文に括弧をつけるか論争って無かったっけ?

……いや、無かったかも。
59デフォルトの名無しさん:2008/12/12(金) 11:30:44
例えしなくてよいのだとしても、いちいち丁寧に解放するのが俺流
RegisterClassしたら最後にUnregisterClassしとけよみんな
60デフォルトの名無しさん:2008/12/12(金) 11:52:45
>>58
そのネタはたまに出てくるけど、いまいち盛り上がらん。
61デフォルトの名無しさん:2008/12/12(金) 11:55:29
>>58
関数型やるとその辺の疑問が氷解するよ
62デフォルトの名無しさん:2008/12/12(金) 14:39:20
またワケの判らんことを唐突に言い出す >>61 が盛り上げてくれるそうだ。
63デフォルトの名無しさん:2008/12/12(金) 22:02:49
結局、malloc/free論争は、どっちが勝ったの?
64デフォルトの名無しさん:2008/12/13(土) 00:40:06
どっちが勝つも負けるもないよ。
65デフォルトの名無しさん:2008/12/13(土) 01:20:28
「トイレを使った後、便座は上げておくべきか、下げておくべきか」 くらいつまらん。
66デフォルトの名無しさん:2008/12/13(土) 01:23:59
malloc/freeを直接使う事はめったにない
67デフォルトの名無しさん:2008/12/13(土) 01:24:39
それは答えがはっきりしている。
人感センサーつきのオート便座なら勝手に閉じてしまうし、
暖房便座はエコの観点から下げておくべきだ。
# 勿論、蓋がある場合だが。
68デフォルトの名無しさん:2008/12/13(土) 01:32:27
人感センサーつきのオート便座なら勝手に閉じてしまう。
プロセス終了時にOSが全部処理してくれる。
69デフォルトの名無しさん:2008/12/13(土) 01:50:03
これが新たな宗教戦争のテーマになったりして。

ないか…
70デフォルトの名無しさん:2008/12/13(土) 02:09:34
newsgroupで一時期フィーバーしてたじゃない
malloc free 論争
なんかでヤフれ
71デフォルトの名無しさん:2008/12/13(土) 02:43:20
freeに関して、OSが処理してくれると言うのはOS「依存」なんだよなぁ
確実にfreeしろとは言わないけどしなくていいと言うのもあれだよな。
72デフォルトの名無しさん:2008/12/13(土) 02:51:28
Windows しか知らずに
僕らは生まれた
Windows しか知らずに
僕らは育った
僕らの名前を 覚えて欲しい
Windows しか知らない
クソ プログラマーさ
73デフォルトの名無しさん:2008/12/13(土) 03:17:05
確実にfreeする奴は偏執狂。
そのうちに鬱で自殺するタイプ。
74デフォルトの名無しさん:2008/12/13(土) 03:24:39
freeするもしないもその人次第だとは思うけど、こだわってとやかく言ってる>>73も偏執者だと思うけどね。
75デフォルトの名無しさん:2008/12/13(土) 05:35:15
環境や目的によってケースバイケースでどちらかが絶対的に正しいなんてことはないでしょ。
76デフォルトの名無しさん:2008/12/13(土) 06:04:36
>75
そんな弱気じゃ、fjに参加出来ませんよ。
77デフォルトの名無しさん:2008/12/13(土) 07:27:58
スラドへでも逝け
78デフォルトの名無しさん:2008/12/13(土) 09:49:00
スラドってガキばっかじゃん
79名無し募集中。。。:2008/12/13(土) 09:58:39
スラドの○○なのでACってのが意味解らん
むしろ主張したいときこそ名乗れよw
80デフォルトの名無しさん:2008/12/13(土) 10:43:31
キモオタをむりやりnerd(笑)って言い張ってますよね
81デフォルトの名無しさん:2008/12/13(土) 10:51:19
nerdはもともとそういう意味じゃないか?
82デフォルトの名無しさん:2008/12/13(土) 12:49:40
freeしない奴の部屋って床が見えないくらいゴミが散乱してそうな感じ
freeしない奴のデスクって仕様書とゴミの山で埋まってそうな感じ
83デフォルトの名無しさん:2008/12/21(日) 16:32:42
84デフォルトの名無しさん:2008/12/21(日) 17:02:18
85デフォルトの名無しさん:2008/12/21(日) 17:31:00
86デフォルトの名無しさん:2008/12/21(日) 17:31:31
87デフォルトの名無しさん:2008/12/21(日) 17:35:29
88デフォルトの名無しさん: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デフォルトの名無しさん: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デフォルトの名無しさん:2008/12/28(日) 09:36:59
>>94
そんなレスしかできないんだww
96デフォルトの名無しさん:2008/12/28(日) 10:20:29
てか >>91 の質問がいまいちよく解らんのだが
>mallocってどういう仕組みになってるの?
ソース嫁。
>連続した物理アドレスじゃない
かどうかはどうでもよくて
>プロセス側からはどうやっても判別不可能なの?
Cの標準ライブラリでは提供されてないが
OSのAPI呼び出しで提供されてるかも知れない。環境次第。
97デフォルトの名無しさん:2008/12/28(日) 10:23:59
>>96
代表的な環境であるwindowsとmacではどうなっていますか?
98デフォルトの名無しさん:2008/12/28(日) 10:29:24
>>97
Mac は知らんが、Win には int _CrtIsValidHeapPointer(void *) がある。
但し _DEBUG 付きでビルドしたときのみ。

まあ、C ってのは「ヒープに限らず
リソースは自分で管理しろ」ってスタンスだからなあ。
99デフォルトの名無しさん:2008/12/28(日) 10:59:24
>_CrtIsValidHeapPointer
>指定されたポインタがローカル ヒープにあることを検査します (デバッグ バージョンだけ)。
これは連続性は全く関係なさそうだけどw
’物理的に’連続したものが欲しい時は結局ドライバ回りのコードに頼るしかなさそうだね。
100デフォルトの名無しさん:2008/12/28(日) 11:07:55
そもそも連続した物理メモリなんてハードからまなきゃ必要なかろう。
101デフォルトの名無しさん:2008/12/28(日) 11:12:29
>>96
Macのどこが代表的なんだ?
102デフォルトの名無しさん:2008/12/29(月) 00:00:37
いっぱんむけ商用OSとしてじゃまいか

103デフォルトの名無しさん:2008/12/30(火) 23:37:11
libgstreamer
streamtuner
104デフォルトの名無しさん:2009/01/03(土) 04:13:11
freeに渡すのは 識別子 ではない(名言)
105デフォルトの名無しさん:2009/01/03(土) 04:35:13
http://pc11.2ch.net/test/read.cgi/tech/1229639514/689
free()に渡すのは識別子ではなくポインタの値で、
106デフォルトの名無しさん:2009/01/03(土) 13:05:17
つまり、free()が受け取るのはポインタの値なんですね、わかります。
107デフォルトの名無しさん:2009/01/03(土) 13:25:38
tcmalloc
108デフォルトの名無しさん:2009/01/03(土) 14:02:59
識別子渡さなきゃいけないとなると
リンク時にシンボルのstripできないじゃないか。
109デフォルトの名無しさん:2009/01/03(土) 22:58:50
なんであんなにぶったたかれてるのかまったくわからん
110デフォルトの名無しさん:2009/05/29(金) 22:06:41
111デフォルトの名無しさん:2009/06/04(木) 21:03:15
112デフォルトの名無しさん:2009/06/05(金) 00:53:00
113デフォルトの名無しさん:2009/06/07(日) 18:52:24
114デフォルトの名無しさん:2009/06/08(月) 02:54:03
115デフォルトの名無しさん:2009/06/09(火) 17:26:42
116デフォルトの名無しさん:2009/06/10(水) 07:24:48
117デフォルトの名無しさん:2009/06/10(水) 13:22:57
118デフォルトの名無しさん:2009/06/10(水) 15:36:24
119デフォルトの名無しさん: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デフォルトの名無しさん:2009/12/08(火) 23:54:06
定期保守乙
123デフォルトの名無しさん:2009/12/23(水) 10:16:41
mallocひどいお・・・
124デフォルトの名無しさん:2009/12/23(水) 15:01:15
Cでmallocの戻り値をキャストするのは素人。
125デフォルトの名無しさん:2009/12/23(水) 15:24:45
C言語で書いたあるライブラリのあるソースがあるC++のコンパイラでコンパイルされる可能性を考慮してmalloc()の戻り値をキャストするのは玄人
当然のように条件コンパイルやextern "C"を使うのも玄人

malloc()の戻り値をキャストするなというのはド素人
126デフォルトの名無しさん: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デフォルトの名無しさん:2010/01/16(土) 20:55:53
newすればするほどメモリはお前のものだ

メモリがほしいならnewをしろ
131デフォルトの名無しさん:2010/01/17(日) 04:26:39
NULLを返されたらどうすればいいんですか><
132デフォルトの名無しさん:2010/01/17(日) 04:44:20
死ねばいいとおもうよ。
133デフォルトの名無しさん:2010/01/17(日) 06:23:20
abortなりassertなり
134デフォルトの名無しさん:2010/01/17(日) 12:20:36
mallocやnewに失敗する状態の時は
どうせなにやってもその後まともに動作しないんだから
アロケートのエラー取得なんてやらなくていいんだよ。
135デフォルトの名無しさん:2010/01/17(日) 15:20:53
ということにしたいのですね?
136デフォルトの名無しさん:2010/01/18(月) 00:13:38
まあエラーダイアログくらいは出したいよね気分的に
137デフォルトの名無しさん:2010/01/18(月) 01:15:56
ダイアログ出そうとしてさらにどつぼにはまるくらいなら逝ってよし
138デフォルトの名無しさん:2010/01/18(月) 10:59:05
ダイアログを出すのに必要なメモリが確保できない
139デフォルトの名無しさん:2010/01/18(月) 14:46:32
1ペタバイトとか取得要求して
malloc(1024*1024*1024*1024*1024) なんて与えてNULLが
帰ってきた時に、何もせずに終了ってのモナ
昔は「論外、ご冗談を。無視します」で許されたかもしれない
が、今はそんな巨大なメモリ取得出来ませんって程度のメッセー
ジは欲しいところ。
140デフォルトの名無しさん:2010/01/18(月) 14:52:00
確かに debug 中はそれでもいいかもしれないが release 時にそのままじゃいかんだろ
141デフォルトの名無しさん:2010/01/18(月) 14:53:25
mallocでNULLが返ってくる状況では、何をしてもダメ

神話。
今やUNIXコンソールアプリとかでも、mallocはプロセス管理やシステムコール領域とは独立分離されているので、プロセスが本当に何も
出来なくなるクリティカルな状況よりずっと低いレベルでNULLが
返ってくるように設定されている。よってエラー処理ルーチンは
必要。
142 ◆0uxK91AxII :2010/01/18(月) 18:08:23
ふつーえむあろっく。

>>132
秀逸杉る。
143デフォルトの名無しさん:2010/01/18(月) 18:54:09
>>141
出来の悪い架空記憶を採用したOSでは
p=malloc(1024*1024*1024*2)としても
平気で普通の値を返してくる。
ところが p[1024*1024*1024*2-1]='¥0'
とした瞬間、ディスクがガシャガシャ動き出し
サクサク動いていたマシンのマウスが殆ど
動かなくなったり、ちょっと昔の奴だと
ブルースクリーンになってリセットボタン
すら利かない状態になったりしたものだが...
今は仮想記憶だから大丈夫だよね。
144デフォルトの名無しさん:2010/01/19(火) 03:26:53
>>136の自分レス補足だけど、Win32の場合、システムモーダルメッセージボックスを作成するときに
失敗する可能性あるからリソースから文字列取得するなよ、っていうのがリファレンスに載ってるから
そういう危機的な状況でもMB_SYSTEMMODALを指定すれば頑張って表示してくれるんじゃないのか?
と思ってるんだけど、実際そういうテストやったことないから正直よく分からん
145デフォルトの名無しさん:2010/01/19(火) 15:14:12
よく訓練されたPGならエラーダイアログくらい一番最初に確保しておくよね(´・ω・`)
146デフォルトの名無しさん:2010/01/19(火) 22:39:13
Windowsのアホなところはそんなことをしても無駄だということだ
147デフォルトの名無しさん:2010/01/23(土) 19:52:35
無駄無駄無駄、無駄な努力はしない
148デフォルトの名無しさん:2010/03/20(土) 08:23:59
>>143
たった2GBでスワップとかどんな罰ゲームなんだよw と思っていた。
でも実際、Windows用のアーカイバーで間抜けのがあるらしく、2GBのtar.gzを
メモリ上に展開しようとしてスワップ地獄に陥ってしまった。
なんでgnuzip展開とtar展開を全部オンメモリでやろうとするかね。
149デフォルトの名無しさん:2010/03/21(日) 10:06:28
>>143
Mac OS Xがそうだったなぁ。
しかもswapを動的に確保するから、ディスクの空きが少ない状況でこれが起きると
にっちもさっちもいかなくなった。
150デフォルトの名無しさん:2010/04/22(木) 05:17:19
宇宙海賊キャプテンmalloc
151デフォルトの名無しさん:2011/02/22(火) 01:43:22.78
わが青春の alloca ディア
152デフォルトの名無しさん:2011/04/08(金) 21:15:00.18
153デフォルトの名無しさん:2011/04/28(木) 20:17:14.71
mallocを使うのはやめよう!!
大量に確保するとパソコンこわれるぞ!!
2GB確保したらパソコン死にかけたぞ!!
使うときはOSとメモリを新しくしよう!!
154天使 ◆uL5esZLBSE :2011/07/02(土) 07:05:04.01
>>149
> にっちもさっちもいかなくなった。
ハッアアアアアアア????????
ゴミの分際でw
ゴミの分際でw
155天使 ◆uL5esZLBSE :2011/07/02(土) 22:10:58.80
--------------
<<<<<<< Mac OS Xがそうだったなぁ。 >>>>>>>(きリッッッッ!!!!キリッッッ!!キリ!!キリッッッ!!!!!!!
--------(キリッッ!!!キリッッッ!きリ!!!
----------------
<<<<<<< しかもswapを動的に確保するから、ディスクの空きが少ない状況でこれが起きると >>>>>>>(キリキリ!!!キリ!!!ッ!
----------(きリッッ!!!!キリッ!!!キリッッッッッ!!キリッ!!キリッッッッ!
--------
<<<<< にっちもさっちもいかなくなった。 >>>>>(キリッッッッキリッ!!
---(キリッ


お前らはほんとにゴミだな
156デフォルトの名無しさん:2011/07/02(土) 22:57:43.94
天使ちゃんマジ天使
157デフォルトの名無しさん:2011/11/22(火) 01:37:17.32
...
158デフォルトの名無しさん:2012/01/12(木) 01:44:14.29
>故障原因はメモリー不足=原発データ収集システム―JNES
http://news.nicovideo.jp/watch/nw176439

はい、freeを忘れた結果こうなりましたよっと
159デフォルトの名無しさん:2012/01/12(木) 12:23:32.85
ミスターmalloc
160デフォルトの名無しさん
>>125
もはやCとC++のソース互換なんてないのに
ソース互換を気にする人って・・・