最近做了一個項目,但是遇到了一些問題,請大家幫忙出出注意……
問題如下:
在工程中建立了了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[]中的數據就給的隨機數,一致運行不正確,請大家幫我分析一下是什么原因造成的,我應該從那幾個方面進行分析解決呢?
|