首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
豆子哥哥
掘友等级
测试工程师
小白在线~~努力提高自己~~
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
赞
文章( 11 )
沸点( 0 )
编译器优化
编译器优化优化的是什么呢,优化的是底层代码执行逻辑,使项目执行更加高效。汇编是最接近底层的代码,所以我们从汇编来看编译器优化是如何优化的。
iOS对象的本质
clang Clang是一个C语言、C++、Objective-C语言的轻量级编译器。源代码发布于BSD协议下。
联合体&位域
首先我们创建一个类,里面有三个BOOL类型属性 创建一个对象,打印内存大小 打印出来占16字节(isa:8,tall:1,rich:1,handsome:1;16字节对齐)。
iOS类的本质
首先,我们看下几个类型:NSObject、Class、objc_object、objc_class、id的联系与区别。 NSObject:OC中的基类,绝大多数类都继承NSObject
iOS属性、方法获取的深入理解
属性的深入理解 要研究成员变量与属性关系,最简单方法就是利用clang生成C++文件,看C++代码如何实现的。
cache_t底层分析
cache_t 结构分析 类的本质我们已经分析完了,里面有isa、superclass、cache、bits。 今天对cache进行研究。
iOS方法的本质
编译时和运行时 编译时:顾名思义就是正在编译的时候 . 那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码 .(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.)
objc_msgSend汇编流程深入分析
要研究objc_msgSend实现原理,我们就需要在源码中找实现,全局搜索objc_msgSend。因为有好多架构实现,而真机架构arm64,所以就看objc-msg-arm64.s文件里面的实现即可
方法查找和动态决议
我们在objc_msgSend汇编流程分析了缓存的查找流程,缓存找不到时,会执行到C++的lookupImpOrForward方法进行方法查找,现在来分析方法查找流程。
iOS消息转发
我们已经研究了objc_msgSend从汇编快速查找缓存流程,慢速查找流程,动态方法决议流程,如果这几个流程下来都没找到合适的执行方法,接下来就会走到消息转发流程。
下一页
个人成就
文章被点赞
4
文章被阅读
6,459
掘力值
213
关注了
2
关注者
2
收藏集
0
关注标签
2
加入于
2022-02-03