a.outフォーマットとは? わかりやすく解説

Weblio 辞書 > 固有名詞の種類 > 製品 > コンピュータ > ソフトウェア > UNIX > a.outフォーマットの意味・解説 

a.outフォーマット

(a.out から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/01/12 15:46 UTC 版)

a.outフォーマットは、UNIXにおける最初の実行ファイルおよびリンク可能ファイルのファイルフォーマットである。名前は、コンパイラの出力するファイルのデフォルトの名前がa.out(アセンブラアウトプット)であることから名付けられた。Windows上のgccではa.outファイルの代わりにa.exeを生成する。

ファイル構造

実行可能a.outは3つのセクションを持つ。一つはTEXTと呼ばれるコードセクションもう一つはDATAと呼ばれるデータセクションそして、ヘッダにサイズだけが記録されているBSSと呼ばれる0初期化データセクションであり、この順番に配置されている。

ファイルヘッダの先頭に置かれる、識別マジックナンバーはO_MAGIC(8進数で0407)、 NMAGIC (0410)、QMAGIC (0413)、ZMAGIC (0314) である。O_MAGICは最初に使われた形式で、コードもデータも区別無く連続して読み込まれる。このマジックナンバーは本来PDP-11で、ヘッダを飛ばして実行を開始するようなジャンプ命令であり、スタンドアローンのプログラムで使えるように設計されていた。N_MAGICはNew Magicの略で、基本的にO_MAGICと同じように連続してコードもデータも書かれているが、コードセグメントを読み込み可能領域にロードし、データセグメントを書き込み可能領域に配置するように設計されている。このことにより複数の同一プログラムを走らせるとき、コードを共有してプログラムの実行することが出来るようになっている。Z_MAGICはコード領域とデータ領域それぞれをページ境界に整列させたもので、このことによりページング環境で、全てを読み込まなくても実行可能にすることで、実行開始を高速化したものである。Q_MAGICは、やはりページングに対応したファイルであるが、ファイル上でのコードの整列をやめ、実行ファイルの先頭を0ページではなく、1ページ目からマップすることで未初期化ポインタ参照を検出できるようにし、ヘッダやデータの先頭部分を実行コードページの一部として読み込み専用マップすることで、ハードディスク容量が無駄になる事を防止したものである。

リンク可能ファイルには、シンボル情報や再配置情報が更につけ加わる。

欠点

問題点は、1つは共有ライブラリのサポートが難しいことであるが、FreeBSD等のいくつかのシステムにおいては実行ファイルとして、a.outのシンボル情報を残したファイルを使うことで、共有ライブラリを実装していた。また、C++等で必要な初期化セクション等の特殊な役割を持たせた部分がファイルフォーマットとしてサポートされていないことである。そのため、現在ではCOFFまたはELFに役割を譲っている。





固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「a.outフォーマット」の関連用語

a.outフォーマットのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



a.outフォーマットのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのa.outフォーマット (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS