内存布局 栈区:函数,方法 堆区:通过alloc分配的对象,block copy .bss:未初始化的全局变量,静态变量 数据段:初始化的全局变量,静态变量 text:程序代...
内存布局 栈区:函数,方法 堆区:通过alloc分配的对象,block copy .bss:未初始化的全局变量,静态变量 数据段:初始化的全局变量,静态变量 text:程序代...
Auto Layout ,是苹果公司提供的一个基于约束布局,动态计算视图大小和位置的库,并且已经集成到了 Xcode 开发环境里。 在引入 Auto Layout 这种自动布...
从main函数探究 我们知道main()函数是入口函数,那么我们探究APP的启动流程就先从main函数开始,我们直接断点main函数尝试一下 我们可以看到从main函数入手看...
objc_msgSend慢速查找流程 当消息在cache里面找不到的时候会触发MissLabelDynamic,从代码CacheLookup NORMAL, _objc_ms...
一: 汇编指令格式 ARM 汇编器的基本语法,这与 GCC汇编器 的语法有所不同,整体编译的流程如下所示; 二: 汇编代码是怎么转换为二进制机器码的 很简单: 转换协议 例如...
编译时和运行时 编译时 顾名思义就是正在编译的时候 . 那什么叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码 .(当然只是一般意义上这么说,实际上可能只是翻译成某个中...
在前面的文章里面我们已经探索过类的结构《OC中类的结构探索》[https://www.jianshu.com/p/fbe8391adc8a]本篇文章我们重点分析一下cache...
isKindOfClass 和 isMemberOfClass 的区别 我们先看下打印的结果: -(BOOL)isKindOfClass:(Class)aClass和+ (B...
首地址偏移 从上一篇文章《OC中对象的本质》[https://www.jianshu.com/p/f4b4eadb3760]中可以知道类的源码如下: 本次我们具体探究clas...
对象在C++层面的表现 我们先准备以下代码 用如下代码把他编译成c++代码 打开生成的.cpp文件,我们搜索一下,找到 我们继续搜索ELPerson_IMPL 他在c++层面...
联合体和位域 在上一篇iOS中关于内存对齐的探究[https://www.jianshu.com/p/c913b5b6b76b]中,我们探索了结构体内存对齐的情况,这部分继续...
结构体内存对齐的三大原则 1、数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个成员存储的起始位置要...
1、怎么去探究alloc? 我们在xcode中按住command键点进去就进入了一下页面 到这个页面之后,就再也无法进去了,臣妾想啊,但是要不到啊。 正确的方法是: 去苹果的...
方案使用阿里云物联网平台,基本无需服务端开发的轻量级的方案。大概流程如下: 消息队列RocketMQ 当设备基于Topic进行通信时,可以在数据流转中,编写SQL对Topic...