最近做了一个项目,但是遇到了一些问题,请大家帮忙出出注意……
问题如下:
在工程中建立了了5个头文件:a.h,b.h,c.h,d.h,e.h,和6个源文件a.c,b.c,c.c,d.c,e.c,main.c;自己讲一些不能改变的数据定义到了一个数组data[]里面,data[]是在e.h中声明的,如下:extern unsigned char code data[1024];在e.c中进行定义,如下:unsigned char code data[1024]={/*1024个十六进制数据,此处省略*/};在main.c,a.c,b.c中都会用到data[]。分别在a.h,a.c中声明和定义了一个函数,fun(unsigned char *pt);在main.c中包含以上5个头文件,main函数中调用函数fun(data),编译通过(error为0,warring不为零),可是调试的时候却出现问题,后来查看一下报警信息才知道,报警信息的大概意思就是说data[]这个数组没有定义或没有声明,以至于没有解析,(*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: DATA)所以执行时data[]中的数据就给的随机数,一致运行不正确,请大家帮我分析一下是什么原因造成的,我应该从那几个方面进行分析解决呢? |
|