音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 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

新手請(qǐng)教一個(gè)C51的問(wèn)題

作者:zhouf2005 欄目:單片機(jī)
新手請(qǐng)教一個(gè)C51的問(wèn)題
程序如下,編譯以后的代碼長(zhǎng)度為149個(gè)字節(jié),如果把第一行注釋掉,代碼長(zhǎng)度為17個(gè)字節(jié),我看了一下反匯編程序,發(fā)現(xiàn)注釋前的反匯編代碼中有很多亂七八糟沒(méi)用的指令,不明白為什么定義一個(gè)全局變量會(huì)有這么大差別?請(qǐng)高手指教。
我用的是keil c51 v7.5a,c51選項(xiàng)全是缺省設(shè)置,存儲(chǔ)器模式為小型

unsigned CHAR aaa=0;
void main(void)
{
  while(1);
}

2樓: >>參與討論
computer00
呵呵,keil經(jīng)常這樣干的(添加些代碼進(jìn)去)~~~~~~
看起來(lái)是keil對(duì)靜態(tài)變量(static)初始化的一些處理。因?yàn)樵贑語(yǔ)言中,對(duì)于靜態(tài)變量,只被初始化一次。


你可以試試把變量移到函數(shù)內(nèi)部,然后編譯試試。然后再在這個(gè)變量前加static關(guān)鍵詞修飾,
再編譯試試,看生成的代碼如何?

3樓: >>參與討論
zhouf2005
把變量移到函數(shù)內(nèi)部是沒(méi)問(wèn)題
多謝!把變量移到函數(shù)內(nèi)部的話代碼長(zhǎng)度為21個(gè)字節(jié)。在這個(gè)變量前加static關(guān)鍵詞編譯通不過(guò)。為什么定義為全局變量就會(huì)多那么多亂七八糟的代碼呢

4樓: >>參與討論
computer00
應(yīng)該是全局變量被當(dāng)做靜態(tài)變量來(lái)處理了吧。
加static怎么會(huì)編譯通不過(guò)呢?應(yīng)該不可能的呀;蛟S是沒(méi)對(duì)它操作,僅僅是警告而已吧?

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
想做個(gè)數(shù)控電源玩玩,各位給支個(gè)招吧
c51中怎樣表示外部rom中某個(gè)字節(jié)中的某個(gè)位
用C51操作片內(nèi)擴(kuò)展RAM——很多工程師都遇到過(guò)的“怪現(xiàn)象”
關(guān)于RS485的問(wèn)題
問(wèn)一下誰(shuí)有此IC單片機(jī)控制的資料
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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