|
COFF (Common Object File Format) はUnixシステムで用いられる実行ファイル、オブジェクトファイル、共有ライブラリのファイルフォーマット仕様である。Unix System V で導入され、SVR4で導入されたELFによって広く置き換えられる前に、XCOFFやECOFFなどの拡張仕様の基礎を形作った。COFFとその派生種はその後もUnixライクシステムやMicrosoft Windows上で使われ続けている。 == 歴史 == 元々のUnixのオブジェクトファイルフォーマットa.outは非常に単純な設計であり、たとえば シンボリックデバッグ情報や共有ライブラリなどを十分にサポートすることができなかった。AT&Tの内外でUnixライクシステムの開発が進むにつれ、これらの問題への別の解決策や、異なる問題が生じ始めた。 COFFはAT&TのVAX以外の32bitプラットフォーム向けのUNIX System Vで導入された。既存のAT&Tの''a.out''フォーマットに対する改善点として、COFFは元からシンボリックデバッグ情報や共有ライブラリ、拡張の機構をサポートしていた。 しかし、COFFは''a.out''の改善版であると同時に、その設計にも制限があった。セクションの最大数や、セクション名の長さ、シンボリックデバッグ情報をC++のような新しい言語でサポートすることができない、などの制約があった。SVR4のリリースとともに、AT&TはCOFFをELFで置き換えた。IBMはAIXでXCOFFフォーマットを使用し、DEC、SGIなどの会社はECOFFを使用した。それ以外のシステムは互換性のない方法でそれぞれ実行ファイルのフォーマットを拡張してこれらの問題点を克服した。 拡張されたCOFFはいくつかのUnixライクなプラットフォームで使用され続け、まずは組み込みシステムにおいて、そしておそらく今日でもっとも広く普及したCOFFの用途はMicrosoftのPortable Executable (PE) フォーマットである。 Windows NTのために開発されたPEフォーマット(PE/COFF と表記されることもある)〔〕は、オブジェクトファイルに COFF ヘッダを使用し、実行ファイル内のPEヘッダのコンポーネントとして使用する。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「COFF」の詳細全文を読む スポンサード リンク
|