runtime学习

runtime这个运行机制,它基本上是用C和汇编写的一个库

网上文章很多,引用几篇好的,写下关键词,方便自己看,以后有时间在补全总结

实现:

编译器 clang - llvm
源代码 - 编译器前端( clang ) - 优化器 - 编译器后端( llvm ) - 机器码
runtime库是在 clang 编译期去执行的,在 clang 和 llvm 之间会转化为一种 IR 代码(可以去看 suunyxx 的 clang分享视频),在视频中提到了 runtime 的桥接。

clang - llvm -1
clang - llvm - 2

clang视频:
https://pan.baidu.com/share/home?uk=2885973690#category/type=0
http://blog.sunnyxx.com/2016/08/13/reunderstanding-runtime-0/

原理:

主要就是运行时的消息机制 [obj message] ,以及可以利用运行时机制来干嘛,比如 Method Swizzling 。

http://southpeak.github.io/2014/10/25/objective-c-runtime-1/

http://southpeak.github.io/2014/10/30/objective-c-runtime-2/

http://southpeak.github.io/2014/11/03/objective-c-runtime-3/

http://southpeak.github.io/2014/11/06/objective-c-runtime-4/

http://southpeak.github.io/2014/11/08/objective-c-runtime-5/

http://southpeak.github.io/2014/11/09/objective-c-runtime-6/

虽然写的比较早了,但是这是我看了网上大部分 runtime 中,讲的最细致的,让我看明白了以前理解的误区。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 2000年,伊利诺伊大学厄巴纳-香槟分校(University of Illinois at Urbana-...
    星光社的戴铭阅读 16,341评论 8 180
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,941评论 8 183
  • 一、什么是Objective-C runtime? 简单来说,Objective-C runtime是一个实现Ob...
    _浅墨_阅读 6,212评论 2 36
  • 她打翻了颜料罐子,一滴滴全部落在了胖胖的白云上。那一天,下了一场彩色的雨。河水红了,草地黄了,绵羊黑了,人们的头发...
    没有代码不幸福阅读 168评论 0 1
  • 早晨一大早就为了孩子的事情吵了几句,我也不知道该怎么做才好。在生活中没有共同的兴趣爱好,对小孩的教育又达不到统...
    亦心2015阅读 215评论 0 1

友情链接更多精彩内容