最近做了一個項目,但是遇到了一些問題,請大家?guī)兔Τ龀鲎⒁狻?br />
問題如下:
在工程中建立了了5個頭文件:a.h,b.h,c.h,d.h,e.h,和6個源文件a.c,b.c,c.c,d.c,e.c,main.c;自己講一些不能改變的數(shù)據(jù)定義到了一個數(shù)組data[]里面,data[]是在e.h中聲明的,如下:extern unsigned char code data[1024];在e.c中進行定義,如下:unsigned char code data[1024]={/*1024個十六進制數(shù)據(jù),此處省略*/};在main.c,a.c,b.c中都會用到data[]。分別在a.h,a.c中聲明和定義了一個函數(shù),fun(unsigned char *pt);在main.c中包含以上5個頭文件,main函數(shù)中調用函數(shù)fun(data),編譯通過(error為0,warring不為零),可是調試的時候卻出現(xiàn)問題,后來查看一下報警信息才知道,報警信息的大概意思就是說data[]這個數(shù)組沒有定義或沒有聲明,以至于沒有解析,(*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL SYMBOL: DATA)所以執(zhí)行時data[]中的數(shù)據(jù)就給的隨機數(shù),一致運行不正確,請大家?guī)臀曳治鲆幌率鞘裁丛蛟斐傻模覒搹哪菐讉方面進行分析解決呢? |