今天创建了一个512字节的线程,然后线程中分配了8k的数组,我创建的时候char buf[8*1024]="1234",越界检测的时候,并没有检查出来。但是用memset清空数组或者通过for循环挨个赋值为0,上电后就会检测出栈越界了。
但是如果我诶个打印buf中每一个元素的值,居然也会报错了,所有说我感觉这中间肯定有什么隐藏的规则我不清楚,有可能是编译器的特性,也可能是rtthread的特性。暂时能力所限想不通,故记录下来。
版权声明:本文为wangsuyu_1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。