首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
头顶阳光的小小少年
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
7
文章 7
沸点 0
赞
7
返回
|
搜索文章
赞
文章( 7 )
沸点( 0 )
带你了解分类的加载流程
其实上篇文章已经介绍了程序一运行如何将编译好的mach-o文件内容如何加载到App内存 里,一开始回来到 _objc_init(void),程序初始化函数,在这里会进行整个程序的一些环境配置、异常配置、静态构析函数配置等,然后会map_images读取镜像文件的过程. 加载所有…
类结构初探
里面method_list 里有 sayHello、sayHappy的方法. 在这里有IVARS成员变量属性 hobby. 但是这些东西是怎么出来的呢?下一步我们继续探究 在这里我们看到一些熟悉的东西methods、properties、protocols. 发现list里面有…
cache_t的结构分析
上篇文章已经讨论过类的的结构是个结构体 里面有 isa、superclass、cache_t、 class_data_bits_t bits,这样我们可用通过x/p 4gx Class 看到类的内存地址信息,首地址(isa)偏移16位得到cache_t所在的指针地址. 可以看到…
论objc_msgSend消息机制之前传
runtime的使用方式主要有三种 : ObjectIve-C调用 @selector()、NSObject的方法 NSSelectorFromString()、sel_registerName. 函数api 首先我们在main.m 文件里,创建了个LGPerson的对象并调用…
论objc_msgSend消息机制之消息查找
1.对象方法存在类里,类方法会存储在元类里(元类是系统在编译时为我们自动创建的类)类在元类里是以对象方式存在的也就是类对象. 2. 在上篇文章中讨论了方法在类中查找首先通过快速查找机制会先从类里cache_t先去查找,如果cache命中就触发消息发送,如果缓存没有命中,就会通过…
浅谈runtime如何将mach-0文件里的内容加载到App内存里
预编译 --> 编译 --> 汇编 --> dyld 链接 --> 可执行文件(mach-0). dyld 全名 The dynamic link editor . 它是苹果的动态链接器,是苹果操作系统一个重要组成部分 ,在应用被编译打包成可执行文件格式的 Mach-O 文件之…
论objc_msgSend消息机制之消息转发
1.2 类方法也是一样,只不过类方法会在元类里去寻找,然后到元类的父类最后也会来到NSObject. 不过在这里肯定有一个疑问的点,OC是一门动态语言并且也是一门相对安全的语言(如果不安全,苹果公司也不会用OC来进行开发),难道方法在慢速流程找不到时就不做任何处理,直接让其崩溃…
关注了
1
关注者
1
收藏集
0
关注标签
0
加入于
2020-01-08