2017-04-02 1 views

答えて

0

バイナリ内のC関数は、それぞれ仮想アドレスで識別されるコードの塊です。 Objective-Cのランタイムは、セレクタが送信されたときにC関数は、実際にそれを行うために呼び出され、Cで実装されています

id objc_msgSend(id self, SEL op, ...); 

最初の引数は、セレクタを受け取ることになります、そのクラスまたはインスタンスのいずれかです。 2番目はselector別名char*です。これらのセレクタ名は引数として明示的に渡されるので、このすべては実行可能バイナリで処理する必要があります。 C関数の仮想アドレスと比較してより多くの情報があるので、ダンピングクラスが始まるところです。

関連する問題