为指针赋值导致硬故障
Assigning Value to Pointer Leads to Hard Fault
我已将较大错误的问题缩小为看似简单的问题。
uint8_t *vald;
*vald=46;
这对代码导致我的平台(Atmel Studio、GCC)出现硬故障
我做错了什么?
vald 未初始化,这意味着它为零或未定义,具体取决于您的编译器是否清除局部变量的堆栈帧。写入地址零总是一个错误,而写入一个未定义的地址几乎总是一个错误。
*((uint8_t*)0) = 46;
我已将较大错误的问题缩小为看似简单的问题。
uint8_t *vald;
*vald=46;
这对代码导致我的平台(Atmel Studio、GCC)出现硬故障
我做错了什么?
vald 未初始化,这意味着它为零或未定义,具体取决于您的编译器是否清除局部变量的堆栈帧。写入地址零总是一个错误,而写入一个未定义的地址几乎总是一个错误。
*((uint8_t*)0) = 46;