MDK下怎样才能让变量在复位时不被初始化
如果要实现以上要求,必须设置两点,缺一不可:
本文引用地址:https://www.eepw.com.cn/article/201611/317372.htm1. 在MDK的选项中设置如下:

2. 必须在程序代码中如下编写:
#define__noinit____attribute__((zero_init))// 变量不初始化为0
__noinit__ int tmp; // 变量前加上宏__noinit__
当然也可以直接:
__attribute__((zero_init))int tmp;
说明:__noinit__不是mdk的关键字
当然也可以直接把启动代码中的__main()改成main(),也可以达到相同的目的,但是不知道有没有什么不好的影响。
评论