メソッド " + (void)load " はmain()の前に呼び出され、ランタイムはプログラムが開始する前にすべてのクラスとメソッドをメモリにロードします。そのため、iOS アプリの実際のエントリ ポイントはどれですか?また、ランタイムがいつ自分自身をロードするのか?
-----編集----同様の質問
が見つかりました
メソッド " + (void)load " はmain()の前に呼び出され、ランタイムはプログラムが開始する前にすべてのクラスとメソッドをメモリにロードします。そのため、iOS アプリの実際のエントリ ポイントはどれですか?また、ランタイムがいつ自分自身をロードするのか?
-----編集----同様の質問
が見つかりました
https://developer.apple.com/videos/play/wwdc2016/406/
この WWDC セッションでは、Mach O ファイルの読み取りから、共有ライブラリでの修正の作成+load
、すべての Objective-C クラスでのボトムアップ メソッドの呼び出し、 main()
.
基本的に、すべてはexec()
呼び出しから始まり、dyld
動的なものをロードして、Objective-C ランタイムに通知します。