美文网首页ios面试题
main()之前的过程有哪些?

main()之前的过程有哪些?

作者: 充满活力的早晨 | 来源:发表于2018-04-09 18:10 被阅读203次

    1main之前的加载过程
    1)dyld 开始将程序二进制文件初始化
    2)交由ImageLoader 读取 image,其中包含了我们的类,方法等各种符号(Class、Protocol 、Selector、 IMP)
    3)由于runtime 向dyld 绑定了回调,当image加载到内存后,dyld会通知runtime进行处理
    4)runtime 接手后调用map_images做解析和处理
    5)接下来load_images 中调用call_load_methods方法,遍历所有加载进来的Class,按继承层次依次调用Class的+load和其他Category的+load方法
    6)至此 所有的信息都被加载到内存中
    7)最后dyld调用真正的main函数

    摘自文章

    相关文章

      网友评论

        本文标题:main()之前的过程有哪些?

        本文链接:https://www.haomeiwen.com/subject/uzoihftx.html