Mach-O と maloader の話

を会社でしたんでスライド置いておきます。しかしオブジェクトフォーマットがどうなってるかとかって、基本的に当たり前の情報が入ってるだけだからあんま面白くないよね…

http://shinh.skr.jp/slide/ldmac/000.html

Mach-O ってのはなんかよく考えられてるのかなぁとか思いましたというのが一つと、まあなんか意外と簡単に動くもんだな、ってのが思ったこととしてはありました。

大変だったのは Incompatible functions って書いてあるようなものが多かったです。半分くらいの時間はこの手の関数が発生させた謎クラッシュとの戦いに費やされた気がします。仕事とかじゃなければこういうのチマチマ追うのは好きなんで、割とつらくはなかった。

あと今回はなんとなく英語で書いてみた。文章適当に書いただけだと日本語よりさらにわかりにくい印象があるのは、読み手である私自身がネイティブじゃないからか、それとも英語の特性か、あるいは書き手の英語が悪いからか。たぶんその3つの理由が混じってる感じじゃないかなーとか思います。

あとコードがドキュメントみたいなこと言うとハッカー気取りでカッコいいんですが、今回は本当に仕様的なものをほとんど見てなくて、ほとんどはヘッダファイルと dyld のコードで十分な感じでした。まぁ dyld と同じことすればいいわけで当たり前ではあります。ていうか Apple に置いてある Mach-O 関係の文章とかなんか役に立たんもんばっかだった気がします…

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h