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

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(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

c51如何減少占用的內(nèi)存?

作者:greatmenddc 欄目:單片機(jī)
我最近用c51編的程序在調(diào)試時(shí)發(fā)現(xiàn)變量占用過多內(nèi)存,以致發(fā)生堆棧溢出.想請(qǐng)教哪位大俠有好點(diǎn)子能在不減少全局變量的條件下減少程序所占的內(nèi)存?這里先謝謝了!(使用的芯片是89C52)
2樓: >>參與討論
lihai813

堆棧溢出是什么現(xiàn)象?

3樓: >>參與討論
greatmenddc
堆棧溢出我的意思就是堆棧用到了內(nèi)存的最高單元FFH,還有壓棧,則SP一下變成了00H,程序也莫名其妙的飛走了。(換句話就是程序占用了過多的內(nèi)存,以至于堆棧不夠用了)

「該帖子被 greatmenddc 在 2007-5-16 12:43:25 編輯過」
4樓: >>參與討論
wujing198
只有在匯編上做優(yōu)化了……
5樓: >>參與討論
greatmenddc
十分感謝樓上的!
6樓: >>參與討論
aibxyz

不減少全局變量,要減少內(nèi)存使用

首先要,在程序結(jié)構(gòu)上作優(yōu)化,減少函數(shù)調(diào)用層數(shù)

其次,不要用using、_at_等,讓編譯器自行分配

如果有用到邏輯變量,盡量用bit類型,不要管與其他處理器兼容了

如果允許,不要用float運(yùn)算



另外說一下,內(nèi)存還是大點(diǎn)好,偶剛剛就加了一根1G的,瓦哈哈

7樓: >>參與討論
275124957

同意樓上的觀點(diǎn)

8樓: >>參與討論
六點(diǎn)風(fēng)
6正解,經(jīng)驗(yàn)之談,嚴(yán)重支持。尤其是“減少函數(shù)調(diào)用層數(shù)”很多人忽略了這一點(diǎn)。
9樓: >>參與討論
尋覓

6樓的,最后一句是在開玩笑吧?

還有 “不要用using、_at_等,讓編譯器自行分配”我的看法是用using是恰恰能對(duì)節(jié)省RAM有利的。_at_定義的地址不要太高,否則要和堆棧沖突了。編譯完畢后,至少要給idata空間有15個(gè)直接的余量。

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
急求
[推薦]程序的書寫規(guī)則(程序的編碼規(guī)范)
[分享]單片機(jī)系統(tǒng)軟件抗干擾方法
單片機(jī)交流學(xué)習(xí)群
sst29sf040 (flash)當(dāng)作外部數(shù)據(jù)存儲(chǔ)器使用,應(yīng)該怎...
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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