姬長信(Redy) 大佬早!

源码

提高代码执行效率的几个小技巧

前言

目录

  • 一、方法参数限制

  • 二、反汇编 switch case & if else 

  • 三、C 中写汇编代码

  • 四、 __builtin_expect 、分支执行概率

  • 五、递归和迭代的选择

  • 六、空间换时间

  • 七、栈区和堆区

  • 八、其他

一、方法参数限制

ARM64 有34个寄存器,包括 31 个通用寄存器( x0-x30)、SP、PC、CPSR。

x0 - x30 是31个通用整型寄存器。每个寄存器可以存取一个 64 位大小的数。 当使用 r0 - r30 访问时,它就是一个 64 位的数。当使用 w0 - w30 访问时,访问的是这些寄存器的低 32 位。

寄存器位数描述
x0-x3064bit通用寄存器,如果有需要可以当做32bit使用:WO-W30
FP(x29)64bit保存栈帧地址(栈底指针)
LR(x30)64bit通常称X30为程序链接寄存器,保存子程序结束后需要执行的下一条指令
SP64bit保存栈指针,使用 SP/WSP来进行对SP寄存器的访问
PC64bit程序计数器,俗称PC指针,总是指向即将要执行的下一条指令,在arm64中,软件是不能改写PC寄存器的
CPSR64bit状态寄存器
(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/tigaodaimazhixingxiaoshuaidejigexiaojiqiao.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:1 月 22, 2019 at 04:32 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复