如果我初始化一个全局变量,EDC机器崩溃了

时间:2017-03-25 23:22:55

标签: c enums global-variables payment

我正在使用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.

0 个答案:

没有答案