美文网首页专注iOS开发的小渣渣
OC底层探索-Runtime简介

OC底层探索-Runtime简介

作者: Henry________ | 来源:发表于2020-11-13 22:43 被阅读0次

说起RunTime作为iOS开发者就再熟悉不过,面试基本上一大部分原理性的问题都是出自这里。

runtime官方文档

1. 什么是 Runtime?

c,c++,汇编共同编写的一套为Object-c提供动态运行时功能的API.

2. 运行时

程序执行需要:预编译->编译->链接->可执行文件->装载到内存中->程序启动

  • 编译时: 源代码翻译为机器代码的过程。在iOS/macOS中是通过llvm来完成这一步骤的。主要进行语法、词法分析;
  • 运行时: 装载到内存之后,程序启动到程序退出之前都叫做运行时。在这个过程中我们所做的所有操作都会有系统动态来处理。

3. Runtime的使用

来自apple
  • Obecjctive-C Code: 直接使用OC语法;比如:[self hello],#selector(@"hello")
    这一步可以通过xcrun来验证,最终会编译为objc_msgSend
  • Framework&Serivce:使用Runtime提供的API接口;比如:[self class],NSSelectorFromString()
    这一步可以再lib-objc中查看源码
  • Runtime Api:objc_msgSend就是runtime本身的Api
  • Compiler:广义上来说就是llvm+clang编译层
  • Runtime System Library:编译后的系统Mach-o文件

4. runtime的内容

1. OC底层探索10-objc_sendMsg快速查找流程

相关文章

  • OC底层探索-Runtime简介

    说起RunTime作为iOS开发者就再熟悉不过,面试基本上一大部分原理性的问题都是出自这里。 runtime官方文...

  • iOS-Runtime

    RunTime简介1.runtime是 OC 的底层实现, runtime API 都是纯 c 代码.2.所有类中...

  • iOS runtime(hook)

    Runtime – 运行时(iOS的黑魔法!!) runtime是OC的底层实现,可以静心一些非常底层的操作(OC...

  • Runtime 使用总结

    转自: OC的runtime总结 什么是runtime?runtime 是 OC底层的一套C语言的API(引入...

  • 【OC梳理】runtime

    什么是runtime runtime是属于OC的底层,可以进行一些非常底层的操作(用OC是无法现实的, 不好实现)...

  • 2021 iOS底层提升计划

    iOS底层提升方案 下方学习大纲大家可以参考学习《OC底层、核心编程探索》专栏的索引。 OC底层探索 OC对象占用...

  •  Runtime简介以及常见的使用场景

    Runtime简介以及常见的使用场景 Runtime简称运行时,是一套比较底层的纯C语言的API,作为OC的核心...

  • [iOS开发]一篇文章带你深入理解runtime

    一. runtime简介 runtime简称运行时,是一套底层的 C 语言 API。OC就是运行时机制,运行时机制...

  • RUNTime操作基础

    runtime是OC比较底层的东西,而我们在学OC的时候很容易忽视runtime的学习,但是runtime的熟悉还...

  • Object-C ,runtime原理,oc对象的原理,主要记录

    Object-C-runtime Object-C ,runtime原理,oc对象的原理,主要记录oc对象在底层的...

网友评论

    本文标题:OC底层探索-Runtime简介

    本文链接:https://www.haomeiwen.com/subject/jxtibktx.html