OS Project Wiki の保存版 ヒデさん・アリスさんほか、OS部のみなさんが書いたものです。
2019年にサイトが消滅しました。当時あった211ページのうち、本文が残っていたのは86ページです。すべては復旧できていません。Common Crawl と Internet Archive に 残っていたものを組み直しています(最終取得 2019-05-24)。
編集・検索・添付などの機能は動きません。表示のみです。

検索

まずは、検索!

Index

人気の20件
最新の20件
2018-12-022018-01-092017-05-072017-04-252016-05-012015-02-242014-01-032013-06-252012-12-302012-12-292012-07-272012-07-162012-02-052012-01-292011-10-012011-09-18

セクション

目次

セクションとは

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

セクションの種類

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

text セクション

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

rodata セクション

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

data セクション

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

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

bss セクション

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

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

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

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

参考・関連


Since 2008 July. OS Project Wiki
保存 2019-04-21 ・ ページ一覧