5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

malloc

1 :デフォルトの名無しさん:2008/12/05(金) 16:26:49
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点かも」と…

28 :24: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);

33 :15: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
なんであんなにぶったたかれてるのかまったくわからん

19 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)