KDOC 225: mallocをアセンブラで見る
この文書のステータス
- 作成
- 2024-09-09 貴島
- レビュー
- 2024-09-14 貴島
概要
mallocはC言語の標準ライブラリの関数である。動的にメモリ確保する。
これはメモリ管理をプログラマー自身がやるための機能であって、コンパイル時にメモリサイズを決定している方法から外れる。だからアセンブラを見てもmallocが何をしているかはわからない。ただ関数呼び出しをしているのしかわからない。
通常の変数はコールスタック上に展開される。コンパイル時に、メモリ上に展開するサイズが決定している。必要なサイズが実行時でないとわからないようなケースでは、これは都合がよくない。それにスタック構造を超えて保持しておくということもできない。その解決策として、mallocによってヒープ領域のメモリを使う。
ヒープのポイント。
- 動的に、好きなメモリサイズを確保できる
- 破棄しない限り保持し続ける
関連
なし。