刘振天

6篇文章

TTc

Mach-O 的动态链接(Lazy Bind 机制)

要解决空间浪费和更新困难这两个问题最简单的方法就是把程序的模块相互分割开来,形成独立的文件,而不再将它们静态的链接在一起。简单地讲,就是不对那些组成程序的目标文件进行链接,等到程序要运行时才进行链接。也就是说,把链接过程推迟到了运行时再进行,这就是 _动态链接(Dynamic Linking)_的思想。

dyld 加载 Mach-O

最近看 ObjC的runtime 是怎么实现 +load 钩子函数的实现。进而引申分析了 dyld 处理 Mach-O 的这部分机制。1.简单分析 Mach-O 在dyld 中是如何被加载到内存中的;2.分析了 +load 的 特殊加载时机;