C++ 如何为嵌入式设备初始化全局变量?
我正在Linux(Ubuntu)下使用Qt为嵌入式设备编写代码。 我安排了一个包含全局变量声明的头文件;当我在我的PC上测试Linux下的项目时,一切都正常。当我使用嵌入式系统尝试我的项目时,有时它不起作用,因为我忘记初始化一些变量(似乎在我的PC上,Qt自动将它们的值设置为“0”,而在嵌入式系统上,它们可以有一个随机值)C++ 如何为嵌入式设备初始化全局变量?,c++,qt,C++,Qt,我正在Linux(Ubuntu)下使用Qt为嵌入式设备编写代码。 我安排了一个包含全局变量声明的头文件;当我在我的PC上测试Linux下的项目时,一切都正常。当我使用嵌入式系统尝试我的项目时,有时它不起作用,因为我忘记初始化一些变量(似乎在我的PC上,Qt自动将它们的值设置为“0”,而在嵌入式系统上,它们可以有一个随机值) 有没有一种方法可以一步初始化我的所有变量,这样当我将它们传递给嵌入式系统时,全局变量就已经正确初始化了?你能给我们看一些代码吗? 使用全局变量时,需要在C/C++文件中定义它
有没有一种方法可以一步初始化我的所有变量,这样当我将它们传递给嵌入式系统时,全局变量就已经正确初始化了?你能给我们看一些代码吗?
使用全局变量时,需要在C/C++文件中定义它们并在此处初始化它们。头文件中的声明只会说“嘿!这个存在!”即使没有…我想做的是确保我在头文件中创建的每个全局变量都初始化为“0”值。是否有一个方法、一个PrimMa、一个附加的C++头来完成这个操作?< /P>初始化的全局变量是C++特性,而不是Qt特性。从您发布的内容来看,您的嵌入式编译器似乎生成了错误的代码。尝试更新或提交错误报告。您使用的编译器是什么?正如NWP所建议的,对于C++,所有静态存储变量(如全局变量)都应该是默认的,由Debug .Ne命StEuth{TS400类;}类TS400:公共QWIDGET {QYObjultPube:TS400(QWIDGET*父=0);~TS400();quint8 MonoCutModeIndex;quint8 MonoCutModeIndexTemp;//所有这些全局变量都必须初始化;如果没有初始化,我在embedded中发现它们带有随机值。此代码在标头中(包括全局变量)?您是否将全局变量定义放在cpp文件中?顺便说一句,在C/C++中,您不应该假设变量是自动初始化的。