久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3024|回復: 2
收起左側

求助!!!最近做了一個項目,但是遇到了一些問題,請大家幫忙出出注意……

[復制鏈接]
ID:57973 發表于 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[]中的數據就給的隨機數,一致運行不正確,請大家幫我分析一下是什么原因造成的,我應該從那幾個方面進行分析解決呢?

回復

使用道具 舉報

ID:18297 發表于 2014-1-3 09:22 | 顯示全部樓層
你為什么不把數組data[]的定義和聲明都放在一個公用的頭文件內呢?
可以建個公共的頭文件sys.h,把數組data[]包含在內的。
回復

使用道具 舉報

ID:57973 發表于 2014-1-3 16:53 | 顯示全部樓層
頭文件內最好不要進行定義,只做聲明用,因為他是一個接口文件,屬于上層的東西,問題最后解決了,原來是在定義的文件中多加了一個extern,自己被弄糊涂了當時,extern只能在聲明的時候才能使用,定義的時候是不能使用的,還是要謝謝你!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国产三级国产aⅴ浪潮 | 免费av毛片 | 综合久久综合久久 | 欧美午夜激情在线 | 欧美久久天堂 | 亚洲成人精品久久 | 最新国产视频 | 中文一区二区视频 | 日韩视频在线免费观看 | 九色91视频 | 亚洲一区二区 | 国产成人黄色 | 亚洲第一成年免费网站 | 伊人久久精品 | 日本又色又爽又黄的大片 | 精品免费av | 成人免费在线视频 | 一区二区三区中文字幕 | 精品视频网 | 久久成人精品 | 亚洲精品区 | 性一爱一乱一交一视频 | 亚洲国产精品一区二区久久 | 欧美簧片 | 日韩中文字幕在线视频 | 中文字幕1区 | 欧美一级片 | 免费的av| 午夜影视| 久久天堂网| 韩国久久精品 | av在线免费网站 | 久久精品中文 | 久久9热 | 夜色www国产精品资源站 | 日韩成人一区 | 国产午夜精品久久久 | 午夜在线精品偷拍 | 污污免费网站 | 极情综合网 | 成人免费一级 |