Main函数之前发生什么及Main的运行步骤

一、Main.m的运行步骤

1.创建UIApplication对象

2.创建APPDelegate对象,并且成为UIApplication对象代理属性

3.开启主线程运行循环:目的是让程序一直跑起来

4.加载info.plist文件,判断下info.plist文件里面有没有指定的main.storyboard,如果指定,就会去加载main.storyboard

二、在main()函数执行前,系统主要会做下面几件事情:

1、加载可执行文件(App的.o文件的集合);

2、加载动态链接库,进行rebase指针调整和bind符号绑定;

3、Objc运行时的初始处理,包括Objc相关类的注册、category注册、selector唯一性检查等;

4、初始化,包括了执行+load()方法、attribute((constructor))修饰的函数的调用、创建C++静态全局变量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容