在 arm cpu 中如何做到访问一个无效地址时程序不崩溃
資深大佬 : zengming00 7
有一个特殊的需求需要根据一个寄存器的值来读一片内存
而寄存器的值是不确定的,这就会有可能导致访问了无效的内存地址
比如
char*a = r9; // r9 寄存器的值 if(a){ printf("%c", *a); }
判断 a 是不是空指针是最简单的,但如果 a 指向 0xFFFFFFFF 就不行了程序就会崩溃
有没有什么办法使这样无效的内存地址访问也能正常运行,c 语言做不到的话汇编也行
大佬有話說 (7)