セクション Edit

目次 Edit

セクションとは Edit

セクションとは、プログラム中で使用する定数、変数、文字列などの領域管理として使用します。
直訳すると、区分、区域などの意味です。

セクションの種類 Edit

セクションには、特定の名前のセクションがあり、それらのセクションはコンパイラなどの規約によって定められています。

text セクション Edit

プログラムコードを格納するセクションです。

rodata セクション Edit

読み込み専用のデータを格納するセクションです。
定数などがここに格納されます。

data セクション Edit

0以外の初期値をもつデータを格納するセクションです。
C言語では、以下のデータがdataセクションに格納されます。

  • 0以外の初期値をもつグローバル変数
  • 0以外の初期値をもつスタティック変数

bss セクション Edit

bss:Block Started by Symbol(シンボル名で示された番地から始まるメモリブロック)
初期値をもたないデータを格納するセクションです。
このセクションに格納されたデータは0で初期化されるよう定義されています。

C言語では、以下のデータがbssセクションに格納されます。

  • 初期値をもたないグローバル変数
  • 初期値が0のグローバル変数
  • 初期値をもたないスタティック変数
  • 初期値が0のスタティック変数
bss セクションの必要性 Edit

dataセクションとの違いは、初期値をデータとして持たないということで、これは、最終的なイメージのサイズを最小限にとどめるためです。

参考・関連 Edit


Since 2008 July. OS Project Wiki
リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS