欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 求助!!!最近做了一個項目,但是遇到了一些問題,請大家幫忙出出注意…… [打印本頁]

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


作者: zjjhtony    時間: 2014-1-3 09:22
你為什么不把數組data[]的定義和聲明都放在一個公用的頭文件內呢?
可以建個公共的頭文件sys.h,把數組data[]包含在內的。
作者: xzxlove    時間: 2014-1-3 16:53
頭文件內最好不要進行定義,只做聲明用,因為他是一個接口文件,屬于上層的東西,問題最后解決了,原來是在定義的文件中多加了一個extern,自己被弄糊涂了當時,extern只能在聲明的時候才能使用,定義的時候是不能使用的,還是要謝謝你!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1