iOS程序,在main函数之前发生了什么

返回上级目录:iOS面试和知识点整理

  1. 系统先读取 app 的可执行文件(Mach-O 文件 ),从里面获得 dyld (the dynamic link editor 动态链接器)的路径,然后加载 dyld ,dyld 去初始化运行环境
  2. 开启缓存策略,加载程序相关依赖库(其中也包括我们的可执行文件),并对这些库进行链接,最后调用每个依赖库的初始化方法,在这一步,runtime被初始化
  3. 当所有的依赖库初始化后,轮到最后一位(程序可执行文件)进行初始化,在这时runtime会对项目中所有类进行类机构初始化,然后调用所有的load方法。最后 dyld 返回
    main 函数地址, main 函数被调用,我们便来到程序入口 main 函数。

简单总结

  • 读取 app 的可执行文件(Mach-O 文件 )
  • 加载和连接相关的依赖库
  • 初始化runtime
  • runtime对项目中所有类进行类机构初始化,调用所有的load方法

iOS 程序 main函数之前发生什么

你可能感兴趣的:(ios,面试)