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

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

C問題:   acc += *((u16_t *)dataptr)++; 請(qǐng)教

作者:yddoo 欄目:嵌入式系統(tǒng)
C問題:   acc += *((u16_t *)dataptr)++; 請(qǐng)教
lwip中有這樣一段代碼:
static u32_t
chksum(void *dataptr, int len)
{
  u32_t acc;

  for(acc = 0; len > 1; len -= 2) {
    acc += *((u16_t *)dataptr)++;/*這有問題嗎???*/
  }
。。。。。
}
大師級(jí)人物寫的程序,不過我的IAR不認(rèn)同這種寫法。不過奇怪的是:
我借用UCGUI的那個(gè)例子(VC6.0的)寫了個(gè)類似的程序編譯調(diào)試結(jié)果理想
但我同事在他自己的一個(gè)工程里寫同樣的代碼,
就是不行。
吾甚為不解。
期高人解惑。
感激涕零


2樓: >>參與討論
coke
RE
acc += *((u16_t *)dataptr)++;
//////////
1.應(yīng)該是先將抽象型指針dataptr轉(zhuǎn)換成一個(gè)u16_t形式的指針.該指針是指向u16_t型數(shù)據(jù)(從命名來看應(yīng)該是16位數(shù)據(jù)).
2.將acc加上dataptr指針?biāo)傅臄?shù)據(jù). 然后指針加一(指向下一個(gè)u16_t數(shù)據(jù));
從程序看.len應(yīng)該是指8位數(shù)據(jù)的個(gè)數(shù). 由于指針是16位數(shù)據(jù). 所以每次數(shù)據(jù)疊加后. 個(gè)數(shù)要減2.

3樓: >>參與討論
陳遠(yuǎn)征
這種大師欠扁!
現(xiàn)在的編寫程序的時(shí)候,大多正規(guī)的公司都禁止這種復(fù)雜的表達(dá)方式。
缺點(diǎn)很明顯:不利于管理和移交。


4樓: >>參與討論
yddoo
作者也覺察到這個(gè)可能的問題
問題已不是問題!
昨天找更高版本的lwip(lwip1.10)
發(fā)現(xiàn)這句或類似這樣寫的已改為兩句代碼實(shí)現(xiàn)。
我覺得作者也覺察到這個(gè)可能的問題了(possible problem)

5樓: >>參與討論
豬一樣理想
這個(gè)語(yǔ)句遠(yuǎn)沒有難到難以理解的程度
如果哪位覺得理解有問題,我以為你應(yīng)該再回學(xué)校學(xué)習(xí)。

6樓: >>參與討論
溜溜
但是
如果我們只是理解一下,想當(dāng)然的認(rèn)為是對(duì)的,問題就來了 一般來說我們的理解應(yīng)當(dāng)說是一樣,不過如果你編譯一下或執(zhí)行一下,似乎結(jié)果
不一定如我們想象,人家不就是說編譯器不認(rèn)這種寫法嗎? 你是否是與編譯器較真我 偏要這么寫,氣死編譯器,最后你給氣死了。


* - 本貼最后修改時(shí)間:2006-1-5 10:40:32 修改者:溜溜

7樓: >>參與討論
John_Lee
同意 豬一樣理想
這種表達(dá)式是相當(dāng)初級(jí)的!

8樓: >>參與討論
yddoo
較上真了??呵呵
不是說這句有多難理解。
我是說IAR 不認(rèn)可這種寫法,但不奇怪
可是同樣的VC 兩個(gè)不同工程,編譯,一個(gè)可以,一個(gè)不可以。
可能是有什么C 標(biāo)準(zhǔn)的設(shè)置,早期的是支持這么寫的好像是這樣
注:VC 幾乎不會(huì)用

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
現(xiàn)在學(xué)什么比較好?
ucos-i在lpc2100上的移植出現(xiàn)的問題大家快來幫幫我!
精通FPGA的大俠看過來:如何理解這句話!
本人想再ARM上開發(fā)程序,對(duì)硬件不太了解,用
請(qǐng)教:為什么我總是找不到硬盤?
免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)