首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
呦呦君
掘友等级
iOS开发
|
字节跳动
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
117
文章 117
沸点 0
赞
117
返回
|
搜索文章
最新
热门
dyld加载流程
对于ios来说,main函数是ios应用的入口函数。我们可以在main函数打上断点,如下图所示: 通过bt打印当前调用栈可以发现,main函数的调用来自于libdyld.dylib中的start方法。今天我们就来探索一下这个dyld到底有什么作用。 dyld(the dynam…
objc_msgSend分析-动态解析+消息转发
没找到的话在当前class的方法列表中进行查找,然后在父类的cache和方法列表中进行慢速查找,依次往上查询。 如果查找过程中遇到父类==nil或者父类cache中的imp=imp_forward,开始执行一次方法解析并返回结果。 检测当前类及其父类是否实现+resolveIn…
objc_msgSend分析-慢速查找
阅读此文需要对于objc_object、objc_class以及结构体内部cache_t有一定的了解。 上文分析了objc_msgSend发送消息时的快速查找,主要流程是在汇编代码中执行,当快速查找没有找到时,将会执行慢速查找流程__objc_msgSend_uncached。…
objc_msgSend分析-快速查找
阅读此文需要对于objc_object、objc_class以及结构体内部cache_t有一定的了解。 objc_msgSend是所有OC方法调用的核心,调用效率是相当的高,因此处于性能考虑,这个函数的内部代码是用汇编来实现。在arm64下的具体核心实现如下所示: 从当前的消息…
OC底层文章汇总
iOS内存对齐NSObject与协议结构体(Struct)、联合体(Union)和位域iOSalloc流程分析isa的初始化&指向分析类的结构分析类的结构分析-Cache_tiOS-Block底层探索
类的底层实现-若干小问题
大体的意思是说上面的几个方法几乎不会被重写,编译器会先检查上述表中对应的objc方法是否有被重写,如果没有,编译器会将objc_msgSend来调用objc方法替换成了直接调用上述函数,可能这样子在效率上会有些提升。 问题回到re1,在上图中,根类NSObject的元类即根元类…
OpenGL基础入门相关知识点总结
存储着色器由GLTools的C++类GLShaderManager管理着,用来满足基本的渲染需求。 1. 单位(Identity)着色器 使用默认的笛卡尔坐标系(在所有坐标轴上的坐标范围都是-1.0到1.0)。 所有片段都应用同一种颜色。 几何图形为实心和未渲染的。 只使用一个…
leetcode-120三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。 自顶向下的最小路径和为11(即,2 + 3 + 5 + 1 = 11)。 如果你可以只使用 …
OpenGL-甜甜圈引发的问题(正背面剔除/深度测试)
默认情况下,我们所渲染的每个点、线或者三角形都会在屏幕上进行光栅化,并且按照在组合图元时制定的顺序进行排列,如果我们绘制一个由很多个三角形组成的实体对象,那么第一个绘制的三角形可能会被后面绘制的三角形覆盖。在绘制3D场景的时候,我们需要决定哪些部分是对观察者可⻅的,或者哪些部分…
OpenGL-基本图元的使用案例
OpenGL可以支持很多种不同的图元类型。不过它们最后都可以归结为三种类型中的一种,即点、线或者三角形。线和三角形图元类型可以再组合为条带、循环体(线),或者扇面(三角形)。点、线和三角形也是大部分图形硬件设备所支持的基础图元类型(所谓的硬件支持,也就是图形处理器中直接提供了这…
下一页
个人成就
文章被点赞
114
文章被阅读
54,869
掘力值
1,461
关注了
47
关注者
86
收藏集
1
关注标签
29
加入于
2019-05-21