フリー百科事典『ウィキペディア(Wikipedia)』この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(2020年12月)a.outフォーマットは、UNIXにおける最初の実行ファイルおよびリンク可能ファイルのファイルフォーマットである。名前は、コンパイラの出力するファイルのデフォルトの名前がa.out(アセンブラアウトプット)であることから名付けられた。Windows上のgccではa.outファイルの代わりにa.exeを生成する。ファイル構造[編集]実行可能a.outは3つのセクションを持つ。一つはTEXTと呼ばれるコードセクションもう一つはDATAと呼ばれるデータセクションそして、ヘッダにサイズだけが記録されているBSSと呼ばれる0初期化データセクションであり、この順番に配置されている。O_MAGICは最初に使われた形式で、コードもデータも区別無く連続して読み込まれる。このマジックナンバーは本来PDP-11で、ヘッダを飛ばして実行を開始するようなジャンプ命令であり、スタンドアローンのプログラムで使えるように設計されていた。Magicの略で、基本的にO_MAGICと同じように連続してコードもデータも書かれているが、コードセグメントを読み込み可能領域にロードし、データセグメントを書き込み可能領域に配置するように設計されている。このことにより複数の同一プログラムを走らせるとき、コードを共有してプログラムの実行することが出来るようになっている。Z_MAGICはコード領域とデータ領域それぞれをページ境界に整列させたもので、このことによりページング環境で、全てを読み込まなくても実行可能にすることで、実行開始を高速化したものである。Q_MAGICは、やはりページングに対応したファイルであるが、ファイル上でのコードの整列をやめ、実行ファイルの先頭を0ページではなく、1ページ目からマップすることで未初期化ポインタ参照を検出できるようにし、ヘッダやデータの先頭部分を実行コードページの一部として読み込み専用マップすることで、ハードディスク容量が無駄になる事を防止したものである。リンク可能ファイルには、シンボル情報や再配置情報が更につけ加わる。欠点[編集]問題点は、1つは共有ライブラリのサポートが難しいことであるが、FreeBSD等のいくつかのシステムにおいては実行ファイルとして、a.outのシンボル情報を残したファイルを使うことで、共有ライブラリを実装していた。C++等で必要な初期化セクション等の特殊な役割を持たせた部分がファイルフォーマットとしてサポートされていないことである。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスのもとで利用できます。追加の条件が適用される場合があります。詳細については利用規約を参照してください。Cookieに関する声明モバイルビュ。