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
主站蜘蛛池模板: 91免费国产在线观看尤物| 美女国产在线| 日韩第一页在线| 久久91精品牛牛| 久久久久国产一级毛片高清板| 青青青国产在线播放| 国产成熟女人性满足视频| 日韩在线视频网站| 亚洲欧美天堂网| 熟女日韩精品2区| 国产精品19p| 午夜国产理论| 国产九九精品视频| 亚洲无码精品在线播放| 最新国产成人剧情在线播放| 国产欧美视频在线观看| 午夜视频日本| av色爱 天堂网| 女人18毛片水真多国产| 亚洲欧洲自拍拍偷午夜色无码| 最新国产麻豆aⅴ精品无| 国产va视频| 国产产在线精品亚洲aavv| 美女高潮全身流白浆福利区| 天天干天天色综合网| 午夜视频在线观看区二区| 亚洲欧美日韩另类在线一| 成年人午夜免费视频| 99热这里只有精品国产99| 亚洲精品桃花岛av在线| 欧美亚洲第一页| 曰AV在线无码| 欧美啪啪一区| 亚洲欧美日韩另类| 波多野结衣一区二区三区AV| 精品国产福利在线| 综合网天天| 国产理论最新国产精品视频| 无码国产伊人| AⅤ色综合久久天堂AV色综合 | 色天天综合久久久久综合片| 99久视频| 亚洲成人在线免费观看| 在线色国产| 视频一本大道香蕉久在线播放| 日韩毛片免费观看| 亚洲精品视频网| 中文字幕66页| 久久国产乱子| 欧洲日本亚洲中文字幕| 亚洲无码91视频| 美女毛片在线| 真人高潮娇喘嗯啊在线观看| 婷婷六月综合| 成人噜噜噜视频在线观看| 一级看片免费视频| 九色91在线视频| 午夜天堂视频| 亚洲人成日本在线观看| 成人日韩精品| 五月婷婷精品| 国产在线第二页| 曰韩免费无码AV一区二区| 国产精品lululu在线观看| 久久男人视频| www.亚洲一区| 亚洲第七页| 四虎永久在线精品影院| 欧美成人综合在线| 中文字幕第1页在线播| 久久精品中文无码资源站| 亚洲日韩国产精品综合在线观看| 国产Av无码精品色午夜| 日韩美一区二区| 九一九色国产| 91小视频在线播放| 美女潮喷出白浆在线观看视频| 国产成人三级| 亚洲av日韩av制服丝袜| 玖玖免费视频在线观看| 视频一区视频二区日韩专区| 亚洲黄色成人|