はじめてのひき - 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]]
オブジェクトフォーマットはコンパイラ依存で、
* 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]]