This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

定义全局变量,为什么不认



Hi TiSupport:

     我在一个Global_Cfg.c,中定义了一个结构体的全局变量,并初始化,如下:

volatile struct CFG1  g_Cfg1 = 

{
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
0xFFFF,
1,
1
};

然后在一个头文件Global_Cfg.h定义如下:

extern volatile struct CFG1  g_Cfg1;

然后在main_BIOS.c中实现如下:

#include "Global_Cfg.h"

void main()

{

     void fun1(g_Cfg1);

}

编译报告:

error: identifier "g_Cfg1" is undefined

为什么会说没有定义,奇怪,我其实就是想把全局变量都归到一个文件种,然后用extern的方式声明在.h文件中,这样我其它c文件用的时候就方便了。