欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

iOS之深入解析Runtime的objc_msgSend“快速查找”底层原理

发布时间:2024/5/28 编程问答 78 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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
与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的iOS之深入解析Runtime的objc_msgSend“快速查找”底层原理的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。