最終更新:2013-02-08 (金) 16:31:46 (4088d)  

メモリ領域
Top / メモリ領域

プログラム領域? (.text)

  • プログラムを実行するためのプログラムコードが置かれる

静的領域?

データ領域? (.data)

  • 静的変数?大域変数のうち初期化が行われるものが入る

BSS領域 (.bss)

  • 静的変数?大域変数のうち初期化が行わていないものが入る
  • システムはプログラムを走らせる前に、ゼロで初期化する
  • C言語C++が仕様を満たすため、メモリを0で埋めておく必要のある変数を入れるためのセクション
  • .bssセクションを0で初期化するのがスタートアップルーチンの役目のひとつ

スタック領域

  • 自動変数? (多くのローカル変数) が置かれる
  • 自動変数?以外に、関数の引数や、関数の戻り値、長い計算式の一時変数などが置かれる

ヒープ領域

  • 動的に確保可能なメモリの領域
  • malloc()などのメモリ割り当て関数を使ってメモリをプログラム中で動的に確保する場合には、このヒープ領域のメモリが割り当てられる