iOS之深入解析Runtime的objc_msgSend“快速查找”底层原理
生活随笔
收集整理的这篇文章主要介绍了
iOS之深入解析Runtime的objc_msgSend“快速查找”底层原理
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
Runtime
一、什么是 runtime ?
- Objective-C 语言将尽可能多的决策从 编译时和链接时 推迟到运行时。只要有可能,它就 动态 地做事情,这意味着该语言不仅需要一个编译器,还需要一个 运行时系统 来执行编译后的代码。运行时系统作为 Objective-C 语言的一种操作系统,它使语言起作用。
- 因为 Objc 是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到 运行时 。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个 Objc 运行框架的一块基石。
- runtime 简称运行时,OC 就是运行时机制,其中最主要的是 消息机制 。对于 C 语言,函数的调用在编译的时候会决定调用哪个函数。对于 OC 的函数,属于 动态调用过程 ,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。
- runtime 基本是用 C 和汇编 写的,可见苹果为了动态系统的高效而作出的努力。
二、runtime 版本
- runtime 有两个版本:⼀个 Legacy 版本(早期版本) ,⼀个 Modern
总结
以上是生活随笔为你收集整理的iOS之深入解析Runtime的objc_msgSend“快速查找”底层原理的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: iOS之深入解析AFNetworking
- 下一篇: iOS之深入解析Runtime的objc