Create  Edit  Diff  FrontPage  Index  Search  Changes  Login

はじめてのひき - ELF 入門 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!! Windows

オブジェクトフォーマットはコンパイラ依存で、

* COFF (VC)
* OMF (BCC, DMC)
* ELF (GCC)

など (TODO: 他コンパイラ追加) 。
OMF2COFF など、各種変換などもあるけど
うまくいったりいかなかったり、
あと .lib も無数に種類があって実にややこしい。

実行ファイルフォーマットは PE/COFF だけのはず。

PE については MZ ヘッダがあって COFF ヘッダがあって…
とか適当にぐぐればわかると思う。
(TODO: あとで書く)

OMF はかなり異色つーか古いオブジェクトフォーマットらしく、
レコードがひたすら並んでて、
DWARF2 とかに近いかもなぁという印象。

!! MacOSX

Mach-O が使われている。
色々とツールが違うので他の項目参照。

Mach-O は mach header があって、
そのあと load command というヤツで、
メモリの構成などを指示するようになっている。
mach header が ELF header に対応してて
load command が program header みたいなもんだと
思えばまぁ良さげな。

Universal Binary は lipo で操作可能。

(TODO: mach header でバイトオーダーを指定できるとか)

すばらしー: [[Mach-O入門実践編|http://d.hatena.ne.jp/mteramoto/20070121/p2]]