我正在使用Ingenico的EDC machines。我已经在头文件中定义了enum
变量,如下所示。
global.h
enum _MY_VARIABLES {
_ONE, _TWO, _THREE
}
file1.c中:
#include "global.h"
enum _MY_VARIABLES CurrentValue = -1; //Initializing global variable.
如果我初始化全局变量,EDC会崩溃,但如果我没有初始化它,则工作正常,如下所示:
#include "global.h"
enum _MY_VARIABLES CurrentValue; //Initializing global variable.
有人能说出为什么EDC会以这种方式表现吗?我已经调试了代码,甚至用汇编语言检查过,但是找不到原因。
我知道默认情况下全局变量会被0
初始化,但我想用-1
初始化它。
我也可以按照下面的说法做得很好,但我的思绪仍然坚持找到上述奇怪行为的解释。
#include "global.h"
enum _MY_VARIABLES CurrentValue;
CurrentValue = -1; //Initializing global variable.