您的位置 首页 资料

MDK下怎样才能让变量在复位时不被初始化

最近一个项目需要保存一下临时数据,而产品容易受干扰而复位。所以需要保存一下数据,那么只有在系统复位时候不再初始化变量即可。对…

最近一个项目需求保存一下暂时数据,而产品简单受搅扰而复位。所以需求保存一下数据,那么只要在体系复位时分不再初始化变量即可。对应MDK(keil)来说是一个比较费事的问题。经过网络上找了很多材料和测验发现总算能够了。

假如要完成以上要求,有必要设置两点,缺一不可:

1. 在MDK的选项中设置如下:

2. 有必要在程序代码中如下编写:

#define__noinit____attribute__((zero_init))// 变量不初始化为0
__noinit__ int tmp; // 变量前加上宏__noinit__

当然也能够直接:

__attribute__((zero_init))int tmp;

阐明:__noinit__不是mdk的关键字

当然也能够直接把发动代码中的__main()改成main(),也能够到达相同的意图,可是不知道有没有什么欠好的影响。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/275950.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部