最近发现一个怪问题,具体如下:
我有两个文件,一个main.c,一个main.h。
其中main. c中我这样写的:
#define GLOBAL_VAR
#include "main.h"
main.h中我是这样写的:
#ifndef __MAIIN_H__
#define __MAIN_H__
#ifndef GLOBAL_VAR
#define _globall_var_extern extern
#else
#define _globall_var_extern
#endif
_globall_var_extern unsigned char MpuCmdIndex;
#endif
就是说我在main.h中定义了一个变量MpuCmdIndex,然后再main.c中包含main.h头文件,结果在调试的时候,发现在STVD下查看变量MpuCmdIndex的值时
查看不了,watch窗口中显示的是“Error:No Symbol MpuCmdIndex in current context”
以上是为了简单说明问题,只说有两个文件,其实我们的工程中有100多个.c文件,当然.h文件也很多了,可问题就是我发现就两个头文件中定义的的变量查看时会有以上问题,其他头文件中定义的变量都不会有,而且,只要将这连个头文件中的变量移到其他头文件中去定义,发现就可以查看,二而将其他头文件中的变量移动以上两个头文件中来定义,也查看不了。
各位大虾,是否也有碰到过此类问题的,如何解决啊!