KDOC 225: mallocをアセンブラで見る

この文書のステータス

  • 作成
    • 2024-09-09 貴島
  • レビュー
    • 2024-09-14 貴島

概要

mallocはC言語の標準ライブラリの関数である。動的にメモリ確保する。

これはメモリ管理をプログラマー自身がやるための機能であって、コンパイル時にメモリサイズを決定している方法から外れる。だからアセンブラを見てもmallocが何をしているかはわからない。ただ関数呼び出しをしているのしかわからない。

通常の変数はコールスタック上に展開される。コンパイル時に、メモリ上に展開するサイズが決定している。必要なサイズが実行時でないとわからないようなケースでは、これは都合がよくない。それにスタック構造を超えて保持しておくということもできない。その解決策として、mallocによってヒープ領域のメモリを使う。

ヒープのポイント。

  • 動的に、好きなメモリサイズを確保できる
  • 破棄しない限り保持し続ける

関連

なし。