空指针
在win32中指针是随机值,但是在arm中指针是NULL。寄存器中值为0x0000000000000000。
下面看一组代码
void func (){
char *b;
char *a = *b;
}
效果如下图:

解析
b是一个指针,然后a取b内存地址值赋值给a,然后报错因为空指针里面没有值。
一级指针运算
1.代码
void func (){
char *b;
char *a = b;
char *c = *(a+1);
}
2.运行汇编结果:

本文探讨了ARM64架构下指针的基本用法,包括空指针、一级和二级指针的运算,并通过实例展示了不同指针操作对应的汇编代码。在讲解二级指针时,详细解析了反汇编过程,强调了指针运算与数据类型的关系,以及如何影响汇编表示。
最低0.47元/天 解锁文章
85

被折叠的 条评论
为什么被折叠?



