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
主站蜘蛛池模板: 99这里只有精品在线| 中文字幕欧美成人免费| 国禁国产you女视频网站| 在线看片免费人成视久网下载| 国产99视频精品免费观看9e| 手机永久AV在线播放| 久久99精品国产麻豆宅宅| 久久精品丝袜| 亚洲一区二区约美女探花| 亚洲无码熟妇人妻AV在线| 国产va在线观看免费| 国产一区三区二区中文在线| 国产美女在线观看| 国产香蕉在线视频| 欧美黄网在线| 久久www视频| 在线观看精品国产入口| 欧美啪啪视频免码| 亚洲自偷自拍另类小说| 日本欧美精品| 国产成人h在线观看网站站| 国产性爱网站| 91www在线观看| 97国产在线视频| 日韩无码白| 九色91在线视频| 欧美中出一区二区| 在线国产91| AV不卡无码免费一区二区三区| 亚洲国产天堂久久综合226114| 亚洲精品国产精品乱码不卞| 亚洲永久色| 国产成人艳妇AA视频在线| 人妻丰满熟妇αv无码| 欧美区一区| 免费欧美一级| 日本午夜影院| 国产精品粉嫩| 亚洲视频四区| 国产制服丝袜91在线| jizz国产视频| 国产噜噜在线视频观看| 亚洲一区色| 国产第一页亚洲| 色有码无码视频| 国产成人综合亚洲网址| 91毛片网| 亚洲日本一本dvd高清| 欧美亚洲一区二区三区导航| 美女被操黄色视频网站| 日韩欧美亚洲国产成人综合| 22sihu国产精品视频影视资讯| 国产无码网站在线观看| 99er精品视频| 第一页亚洲| 尤物国产在线| 欧美成在线视频| 无码有码中文字幕| 国产精品13页| 色婷婷电影网| 国产综合无码一区二区色蜜蜜| 67194亚洲无码| 亚洲天堂.com| 亚洲无码A视频在线| 91无码网站| 亚洲欧美h| 欧美日韩综合网| 狠狠色丁香婷婷| 无码在线激情片| 热99re99首页精品亚洲五月天| 2019国产在线| 久久精品一品道久久精品| 在线色综合| 国产特级毛片aaaaaa| 亚洲精品在线91| 国产麻豆精品手机在线观看| 久久精品国产电影| 精品国产自在现线看久久| 亚洲一区无码在线| 亚洲一级毛片| 免费aa毛片| 国产迷奸在线看|