runtime学习

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

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

实现:

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

clang - llvm -1
runtime学习_第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 中,讲的最细致的,让我看明白了以前理解的误区。

你可能感兴趣的:(runtime学习)