SweetLoser Blog

树叶的一生,难道只是为了归根吗


  • 首页

  • 标签

  • 分类

  • 归档

iOS面试 —— Hook Block(2)

发表于 2021-06-19 | 分类于 iOS |
字数统计: 2.2k 字 | 阅读时长 ≈ 11 分钟
前一篇讲了两个简单的Hook Block面试题目,主要了解一下基本的Hook Block的思路和注意的问题。实现都不算很难,属于基操,基本按照流程来就问题不大。 这里,打算对题目二进行一个额外的扩展,将题目改为: 12345678910111213141516// 2.实现下面的函数,将任意参数 b ...
阅读全文 »

iOS面试 —— Hook Block

发表于 2021-05-31 | 分类于 iOS |
字数统计: 929 字 | 阅读时长 ≈ 4 分钟
题目一12345// 1、实现下面的函数,将 block 的实现修改为 NSLog(@"Hello world");//也就是说,在调用完这个函数后调用用block()时,并不调用原始实现,而是打 "Hello world"void HookBlockToPr ...
阅读全文 »

git报错及解决

发表于 2020-03-15 | 分类于 git |
字数统计: 401 字 | 阅读时长 ≈ 1 分钟
问题1报错信息1fatal: refusing to merge unrelated histories 出错原因1、在g本地使用git init创建了仓库;123$ mkdir Demo$ cd Demo$ git init 2、在github上创建了远程仓库; 3、本地仓库添加了文件;4、 ...
阅读全文 »

ARM文档翻译(七)----指令篇(五)

发表于 2020-01-11 | 分类于 ARM |
字数统计: 567 字 | 阅读时长 ≈ 2 分钟
B.cond条件分支 语法B.cond Label 注释 cond 标准条件之一。 Label 条件满足时跳转的程序标签。它与该指令之间的偏移量,范围为±1MB。 使用以PC相对偏移量有条件地跳转到标签处。这不是子函数调用或者返回。 B分支(无条件)。 语法B Label 注释Label 无条件跳转 ...
阅读全文 »

ARM文档翻译(六)----指令篇(四)

发表于 2020-01-11 | 分类于 ARM |
字数统计: 414 字 | 阅读时长 ≈ 1 分钟
ASR(寄存器)算术右移(寄存器)。 这个指令是ASRV的别名。 等效指令为ASRV Wd, Wn, Wm。 语法ASR Wd, Wn, Wm ;32位 ASR Xd, Xn, Xm ;64位 注释Wd 32位目标通用寄存器。 Wn 32位第一个源通用寄存器。 Wm 32位第二个源通用寄存器,它的低 ...
阅读全文 »

ARM文档翻译(五)----指令篇(三)

发表于 2020-01-09 | 分类于 ARM |
字数统计: 776 字 | 阅读时长 ≈ 3 分钟
AND(立即数)位与指令(立即数)。 语法AND Wd|WSP, Wn, #imm ;32位 AND Xd|SP, Xn, #imm ;64位 注释Wd|WSP 32位目标通用寄存器或者栈指针。 Wn 32位源通用寄存器。 imm 位掩码(立即数)。 Xd|SP 64位目标通用寄存器或者栈指针。 X ...
阅读全文 »

objc_msgSend解析----方法缓存

发表于 2020-01-03 | 分类于 iOS |
字数统计: 1.9k 字 | 阅读时长 ≈ 9 分钟
OC方法执行流程对OC的runtime机制稍有了解的都知道,OC调用方法,实际上是通过objc_msgSend进行的。其调用方法的基本步骤为: 判断调用者(receiver 或者 self)是否为空。 如果为空,则直接返回。 如果不为空,进行步骤2。 从当前类的方法缓存中查找该方法的实现。 如 ...
阅读全文 »

ARM文档翻译(四)----指令篇(二)

发表于 2020-01-01 | 分类于 ARM |
字数统计: 199 字 | 阅读时长 ≈ 1 分钟
ADR基于PC寄存器的相对地址寻址。 语法ADR Xd, Label 注释Xd 64位目标通用寄存器。 Label 程序标签的地址可以通过它与该指令的偏移计算出。范围为正负1MB(±1MB)。 用法将一个立即数的值添加到PC值中,形成一个PC相对地址,并将结果写入目标寄存器。 ADRP基于PC寄存器 ...
阅读全文 »

ARM文档翻译(三)----指令篇(一)

发表于 2019-12-16 | 分类于 ARM |
字数统计: 2.5k 字 | 阅读时长 ≈ 9 分钟
A64常用指令介绍A64常用指令 A64指令的寄存器限制在A64指令中,通用寄存器对于32位寄存器是W0-W30,对于64位寄存器是X0-X30。 不能通过数字来引用31寄存器,在一些指令说明中,可以使用以下名称来引用它: WSP ​ 当前的栈指针(32bit) SP ​ 当前的栈指针(64bi ...
阅读全文 »

ARM文档翻译(二)----条件代码篇

发表于 2019-12-15 | 分类于 ARM |
字数统计: 1.8k 字 | 阅读时长 ≈ 6 分钟
A64中的条件执行在A64指令集中,有一些指令的执行是有条件的。有条件的执行的意思是:当条件判定为false时,PC往前执行,但是不会产生任何效果。(即当条件判定为false时,该指令相当于NOP)。 条件分支指令B.cond就是一个带条件的执行指令。条件代码以.为分隔符被追加在指令的后面,例如:B ...
阅读全文 »
上一页12345下一页

46 日志
8 分类
11 标签
GitHub
© 2024 SweetLoser | Site words total count: 57.8k
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4