999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式系統中程序的優化策略

2009-03-14 06:59:48王月青
新媒體研究 2009年4期
關鍵詞:優化

[摘要]嵌入式系統中的程序往往是運行在有限的硬件資源環境中,而且大多具有實時性的要求,因此要對程序進行優化,盡量提高程序的執行效率,減少程序的存儲空間。討論對嵌入式系統中的程序進行優化的方法和策略。

[關鍵詞]嵌入式系統 優化 程序代碼 面向對象

中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0220063-01

一、引言

嵌入式系統是一個專用計算機系統,完全封裝在其所控制的設備內。與通用計算機不同,嵌入式系統執行非常明確的預定義任務。而且,嵌入式系統的外形尺寸、功耗、外部適配器等各種特征必須滿足應用的要求和限制;另外,一些嵌入式系統還具有實時性的要求。為了滿足嵌入式系統的實時性和有限存儲空間的要求,嵌入式程序要盡量提高運行速度,減少存儲空間。因此,在嵌入式系統設計中要進行程序的優化以提高系統的性能,縮減產品的尺寸和成本。

對嵌入式程序進行優化主要從兩個方面入手:1.設計優化;2.代碼優化。

二、設計優化

(一)面向對象程序設計技術

現代的程序設計普遍采用面向對象的設計方法。面向對象程序設計于20世紀60年代提出,以后逐漸發展和完善,出現了java、C++等面向對象的程序設計語言。面向對象程序設計的出現是計算機編程技術的重大進步。它以對象為中心觀察、描述和處理問題,按照對象及對象之間的聯系來構造軟件實體。

面向對象是一種自下而上的程序設計方法,它以數據為中心,類作為表現數據的工具,是劃分程序的基本單位。面向對象程序設計的基本方法就是把數據和對數據的處理函數封裝在一起,形成一個相對獨立的類模塊,類實現了數據與函數功能的有機結合。

(二)面向對象設計的優化

類是面型對象程序設計的基礎,通過類繼承可以最大限度地實現功能代碼的重用,減少程序的存儲空間。

調整繼承關系是優化設計的一個重要方面,繼承關系能夠為一個類族定義一個協議,并能在類之間實現代碼共享以減少冗余。在面向對象設計中,建立良好的繼承關系對優化結構是非常重要的。

在設計類繼承時,使用自頂向下和自底向上相結合的方法。先創建一些功能類型,然后進行歸納。如果在一組相似的類中存在公共的屬性和公共的行為,則可以把這些公共的屬性和行為抽取出來重新定義一個類作為基類。

三、代碼優化

代碼優化,就是采用更精簡的程序代碼來代替原有的代碼,使編譯后的程序運行效率更高。以下是一些常用的優化技術和技巧。

(一)盡量定義輕量級的構造方法

在進行類的設計時,要盡量設計輕量級的構造方法。在程序運行過程中,除了創建顯示定義的對象外,還要創建很多臨時的對象,在創建類型的每個對象時都要調用類型的構造方法。如果構造方法過于復雜,就會降低程序運行的效率。

(二)盡量定義局部變量,減少類成員變量的個數

少用全局變量,多用局部變量。全局變量是放在數據存儲器中的,太多的全局變量,會導致編譯器無足夠的內存分配;而局部變量則大多定位于內部的寄存器中。使用寄存器的操作速度比數據存儲器快,指令也更靈活,有利于生成質量更高的代碼。

(三)代碼替換

使用周期短的指令代替周期長的指令,以降低運算的強度。

1.減少除法運算。用關系運算符兩邊乘除數避免除法操作,還有一些除法和取模的運算可以用位操作來代替。因為位操作指令只需一個指令周期,而“/”運算則需要調用子程序,代碼長,執行慢。例如:

優化前if((a/b)>c)和a=a/4

優化后if(a>(b*c))和a=a>>2

2.減少乘方運算。例如:

優化前a=pow(a,3.0)

優化后a=a*a*a

3.使用自加、自減指令。例如:

優化前a=a+1、a=a-l

優化后a++、a--

對除法來說,使用無符號數比有符號數會有更高的效率。在實際調用中,盡量減少數據類型的強制轉換;少用浮點運算,如果運算的結果能夠控制在誤差之內,則可用長整型代替浮點型。

(四)switch語句和循環語句的優化

編程時,對case值按照可能性排序,將最可能發生的情況放在第一個,最不可能的情況放在最后一個,可以提高switch語句塊的執行速度。

循環體是程序優化的一個重要環節,對于一些不需要循環變量參加運算的模塊,可以把它放到循環的外面。對于次數固定的循環體,for循環比while循環效率更高,減計數循環比增計數循環速度快。

(五)查表代替計算

在程序中盡量不進行非常復雜的運算,如浮點數的開方。對于這些消耗時間和資源的運算,可以采用空間換取時間的方法。預先將函數值計算出來,置于程序存儲區中,以后程序運行時直接查表即可,減小了程序執行過程中重復計算的工作量。

四、結論

嵌入式系統中的程序往往需要滿足實時性的要求,而且受到存儲空間的限制,因此對嵌入式系統中的程序需要進行反復的優化。進行程序的優化可以從設計和編碼兩個方面入手。在設計階段,采用面向對象的設計方法,對類型反復地進行歸納,盡量提高繼承程度。和在編碼階段,要在數據定義、功能代碼的編寫等多個方面進行優化,提高代碼的執行效率。

參考文獻:

[1]王軍安,淺析嵌入式系統軟件優化設計[J].計算機工程與應用,2004.

[2]覃征,王志敏等,程序設計方法與優化[M].西安交通大學出版社,2004.

[3]許汝峰譯,32位嵌入式系統編程[M].中國電力出版社,2002.

[4]張義青、李華貴,嵌入式程序設計中C/C++代碼的優化[J].微計算機信息,2003.

[5]江開耀、張俊欄等,軟件工程[M].西安電子科技大學出版社,2004.

作者簡介:

王月青,河北清河人,邢臺職業技術學院信息工程系講師,工學碩士,從事信息技術的教學和研究。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 国产乱人伦偷精品视频AAA| 国产成+人+综合+亚洲欧美| 狠狠躁天天躁夜夜躁婷婷| 欧美日韩在线亚洲国产人| 久久久久人妻精品一区三寸蜜桃| 国产亚洲精品精品精品| 亚洲国产精品一区二区第一页免| 亚洲视频二| 五月婷婷精品| 在线播放91| 最近最新中文字幕免费的一页| a亚洲视频| 无码中文字幕乱码免费2| 久久人午夜亚洲精品无码区| 青青青亚洲精品国产| 狠狠做深爱婷婷综合一区| 国产不卡网| 四虎成人精品在永久免费| 亚洲成人在线网| 国产在线观看精品| 亚洲码在线中文在线观看| 亚洲国产无码有码| 美女被操91视频| 99视频精品全国免费品| 国产成人精品在线| a毛片基地免费大全| 玖玖精品在线| 超清人妻系列无码专区| 秋霞午夜国产精品成人片| 国产极品美女在线播放| 老司机午夜精品网站在线观看| 久久久久国产精品嫩草影院| 亚洲,国产,日韩,综合一区 | a毛片免费在线观看| 久久青青草原亚洲av无码| 亚洲国产精品人久久电影| 国产成人91精品免费网址在线| 在线看AV天堂| 精品福利视频导航| 国产一区亚洲一区| 久久a毛片| 日本亚洲国产一区二区三区| 国产无码精品在线| 亚洲有无码中文网| 欧美yw精品日本国产精品| 亚洲成aⅴ人片在线影院八| 国产午夜福利在线小视频| 啪啪啪亚洲无码| 色综合a怡红院怡红院首页| 91在线国内在线播放老师| 久久狠狠色噜噜狠狠狠狠97视色| 欧美在线国产| 青青草综合网| 国产色网站| 久草中文网| 国产精品免费福利久久播放| 亚洲一欧洲中文字幕在线| 亚亚洲乱码一二三四区| 国产亚洲欧美日韩在线一区二区三区| 国产麻豆福利av在线播放| 久久国语对白| 日日拍夜夜嗷嗷叫国产| 青青热久麻豆精品视频在线观看| 国产第二十一页| 99er精品视频| 无码乱人伦一区二区亚洲一| 被公侵犯人妻少妇一区二区三区| 人妖无码第一页| 欧美福利在线观看| 91麻豆精品国产91久久久久| 在线看免费无码av天堂的| 高清欧美性猛交XXXX黑人猛交| av一区二区人妻无码| AV不卡国产在线观看| 奇米精品一区二区三区在线观看| 亚洲成网777777国产精品| 亚洲天堂网在线视频| 免费又爽又刺激高潮网址 | 91香蕉国产亚洲一二三区| 九色在线观看视频| 精品少妇三级亚洲| 久久精品国产91久久综合麻豆自制|