音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

為什么這個指針會有警告呢?請各位幫忙看看

作者:42103632 欄目:單片機
為什么這個指針會有警告呢?請各位幫忙看看
小弟有一段代碼如下:
typedef unsigned CHAR BYYE;

typedef BYTE LineType[256];
.....  //其他的無影響

LONG lpbuff;

LineType  *xbuff;

xbuff=(LineType*)lpbuff;
....

Winavr的PN make all時候一個警告:cast to pointer from integer  of different size  為什么會這樣?琢磨了兩天都沒找到那里的問題,是不是編譯器的原因?


2樓: >>參與討論
javie
GCC?
 
3樓: >>參與討論
kanprin
其實我也碰到了類似的問題。
EEPROM時,

函數(shù)的原型是
void eeprom_write_byte (uint8_t *addr, uint8_t val);

我調(diào)用的時候如下

eeprom_write_byte ((uint8_t *) i, array[i]);


編譯時的警告也是

warning: cast to pointer from integer of different size


不知道是什么原因。
不過執(zhí)行的結(jié)果是沒發(fā)現(xiàn)錯誤。


* - 本貼最后修改時間:2005-12-14 17:03:00 修改者:kanprin

4樓: >>參與討論
computer00
這里為什么是這樣的?
typedef BYTE LineType[256];


typedef應(yīng)該不要了吧。直接BYTE LineType[256];


5樓: >>參與討論
42103632

問題已經(jīng)解決了.是GCC的環(huán)境下,不過注意單片機指針是16位的,LONG是32位,之所以要寫成LONG型,是因為先前在PC環(huán)境下寫的仿真過程.移植到單片機里,即使在GCC里,指針也是16位的,所以,我把相關(guān)的LONG型數(shù)據(jù)改為SHORT型后再賦給指針作為指針的指向的地址,就沒問題了,謝謝大家的幫助!

6樓: >>參與討論
kanprin
不大明白你說的意思。
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
求助:關(guān)于串口通訊工具(謝謝各位了)
avrgcc
學(xué)習(xí)MEGage16
【求助】振動傳感器件
如何在AVRStudio中看匯編代碼?
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號