16期_iOS_dyld是如何加载app的

2023-08-18  本文已影响0人  萧修

本文简要梳理dyld是是什么,引入共享缓存概念,并对dyld的流程进行总结

dyld简介

dyld是苹果的动态链接器,负责程序的链家及加载工作,是苹果操作系统重要组成部分。在应用被编译打包为可执行文件Mach-o之后,交由dyld负责链接,加载程序

共享缓存

dyld_shared_cache
苹果从3.1之后,将所有系统库(私有公有)编译为一个大的缓存文件,该缓存文件存放于

/System/Library/Caches/com.apple.dyld/

dyld流程分析:

...此处省略很多。。。【后期补充】

dyld工作结束之后,需要将控制交给可执行文件入口

dyld流程总结

系统读取可执行文件,从中读取dyld路径,加载dyld,由dyld开始初始化运行环境,开启共享缓存。加载动态库和可执行文件,并对它们链接,最后调用依赖库的初始化方法,当初始化完毕时,初始化可执行文件,对项目中类接口初始化,调用load方法,加载main()函数,获取程序入口

dyld启动优化思路

上一篇 下一篇

猜你喜欢

热点阅读