c - 嵌入式系统 C 重启后的静态重新定义

标签 c variables static reset

我在嵌入式系统上工作,而不是 Windows 系统。

我声明:

static uint_8 i = 0;

所以 i 在开始时刻被定义为 0。

问题:重置后我重新定义为 0 还是它在 ram 地址上获得了垃圾信息?例如,我是否需要编写一个初始化函数来将 i 重新定义为 0?

谢谢

最佳答案

这取决于您的运行时库(如果有)。如果您有一个现有的运行时库,它可能会在启动时将您的静态数据初始化为零(在 main() 之前)。但是,某些嵌入式系统可能没有完整的运行时库支持,因此您可能必须自己执行此操作。

关于c - 嵌入式系统 C 重启后的静态重新定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754839/

相关文章:

c - 有没有一种简单的方法可以让用户在每次选择后返回到菜单?

c++ - 以下代码以意想不到的方式获取输入

c - 如何检测我的哪一段代码生成 "Fatal error: glibc detected an invalid stdio handle"错误?

php - Twig 动态变量赋值

c++ - 用户定义的函数和声明变量有什么区别? C++

android - 如何在 onCreate() 之前在静态字符串上使用 getString()?

c - FILE可以作为c中的函数类型实现吗?

swift - 如何在 Swift 中抓取其他本地标签数据?

C++ 静态类成员 - 语法错误

java - 具有静态方法和初始化方法的类的并发