iOS之深入解析App启动dyld加载流程的底层原理
生活随笔
收集整理的這篇文章主要介紹了
iOS之深入解析App启动dyld加载流程的底层原理
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
dyld 簡介
一、什么是dyld?
- dyld 是英文 the dynamic link editor 的簡寫,意為動態(tài)鏈接器,是蘋果操作系統(tǒng)的一個重要的組成部分。
- 在 iOS/Mac OSX 系統(tǒng)中,僅有很少量的進程只需要內(nèi)核就能完成加載,基本上所有的進程都是動態(tài)鏈接的,所以 Mach-O 鏡像文件中會有很多對外部的庫和符號的引用,但是這些引用并不能直接用,在啟動時還必須要通過這些引用進行內(nèi)容的填補,這個填補工作就是由 動態(tài)鏈接器dyld 來完成的,也就是符號綁定。
- 動態(tài)鏈接器 dyld 在系統(tǒng)中以一個用戶態(tài)的可執(zhí)行文件形式存在,一般應(yīng)用程序會在 Mach-O 文件部分指定一個 LC_LOAD_DYLINKER 的加載命令,此加載命令指定了 dyld 的路徑,通常它的默認(rèn)值是 /usr/lib/dyld 。
- 系統(tǒng)內(nèi)核在加載 Mach-O 文件時,都需要用 dyld(位于 /usr/lib/dyld )程序進行鏈接。
- dyld 源碼下載地址:dyld 源碼。
二、dyld
總結(jié)
以上是生活随笔為你收集整理的iOS之深入解析App启动dyld加载流程的底层原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之深入解析objc_msgSend
- 下一篇: iOS之深入解析dyld与ObjC关联的