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

基于模塊化的嵌入式軟件設計研究

2018-05-14 21:23:25周相康
科技風 2018年16期
關鍵詞:模塊化嵌入式

周相康

摘 要:本文對嵌入式軟件編程語言及軟件模塊化設計的概念進行概述,并給出應用C語言進行模塊化代碼編寫的方法及要點,希望給軟件開發人員以借鑒,提高代碼編寫效率,降低程序出錯概率,縮短軟件開發周期。

關鍵詞:模塊化;嵌入式;軟件設計

伴隨著科學發展,互聯網的興起,人們對軟件的應用需求越來越大,軟件功能越來越多,實現復雜度也隨之增加。嵌入式軟件編程成為軟件編程人員要進行學習及應用的技能,進行模塊化編寫,以解決軟件編制復雜度的難題。

一、什么是嵌入式軟件編程語言

嵌入式軟件編程在行業內通常應用匯編、C和C++三種語言編寫,這三種編程語言雖然都能夠用作嵌入式軟件編程,但在部分特性上存在著差異,實時性匯編最快、C++最慢,代碼移植性與維護性的便捷性比較,C++最簡單,匯編最難,最為繁瑣。業內常用C語言進行嵌入式軟件的編程,這由C語言的特性決定的,C語言在編程時更加側重過程,所編程的代碼在移植、共享方面較為容易;其次,大部分的軟件編程環境都支持C和匯編語言,少部分支持C++語言編譯器;最后C語言掌握及應用最為簡單。由于嵌入式軟件大多都應用C語言進行編寫,因此文章重點講解用C語言進行模塊化編程的方法、要點[1]。

二、什么是軟件模塊化設計

軟件開發工程在近年來難度不斷加大,當編寫出現漏洞時就會受到步驟、功能增加的制約,再修改起來難度、工作量極大,為此計算機領域專業人員提供各種軟件設計模型為編程人員服務。根據用戶需求,將功能較多、規模較大的軟件劃分為多個小模塊進行編寫,分工合作提升編寫效率,減少失誤。模塊化下的軟件編寫,每個模塊的編寫工作量小且工作獨立、互不影響,結構獨立及功能獨立,將軟件的開發分工化。

三、應用C語言進行模塊化代碼編寫

應用模塊化代碼編寫的軟件是由被加工對象及其在此軟件上實現的相關功能構成。在軟件的實際開發階段,通常應用兩種代碼編寫方法,基于功能的程序設計,要在其功能的實現中考慮到編寫過程以及人工操作的疏漏,這個疏漏是不確定且不可控的。程序的整體結構依賴于前期規劃好的程序功能,在后期的功能擴展、刪除和修改環節的難度都會不同程度的提升。在此模式下的軟件,其功能較為集中且耦合度也大,整個軟件結構可以定義為脆弱,經常會在編程上出現漏洞,且這個漏洞處理上也會非常的繁瑣,在未來使用中,難以滿足用戶的功能擴展需求,軟件可復用性差。

基于對象的程序設計中,要考慮的對象及數據結構、軟件結構都是相對穩定的,易于控制和管理,盡管會對軟件的功能有一定的要求,要在使用中進行不斷的完善、演進,但在同一問題空間中的對象,都能夠保持對象本身的穩定性、可控性,在此情況下圍繞對象進行的軟件編譯,編譯成型的軟件系統也同樣具備優良的穩定性和可控性。在實際代碼編制時,將屬性及服務封裝在對象中,當需要對軟件功能、編程細節進行修改時,這種封裝操作能夠有效的對對象結構的穩定性、可控性進行維持,將進行的改動、漏洞修改鎖定在同一對象的內部,降低因為改動而導致的系統崩潰或是結構混亂。因此面向對象方法開發的軟件,必須具備一定的繼承性、封裝性,并且能夠支撐軟件代碼的重復使用,在日后的軟件完善、擴展等操作中,能夠良好的適應復雜系統變化的要求。

C++語言擁有面向對象的特性,因此應用C++語言能夠方便、快捷的完成軟件模塊化設計。C語言是面向過程的語言,因此缺少C++語言在面向對象上的優勢,因此模塊化編程相對C語言而言實現較為困難。應用C語言以實現C++語言面向對象的特征,舉例對比描述轉換過程。

C++通過類定義一個對象,類用于封裝對象所能夠應用到的數據及方法,C語言中沒有類的定義,但有結構體,在C語言中應用結構體,用于定義一個對象。

如在數據結構中常用的棧類型,應用C++語言以及C語言分別對棧軟件模塊進行編寫及對比,能夠明顯看出C++語言與C語言在實現模塊功能編寫時存在一定的共同點,從而能夠解釋C語言完成模塊化編程的原理。C++語言進行模塊化編程時有多種書寫方法,此代碼雖然不是C++語言應用的最佳實現方法,但是與C語言更加接近,更為容易理解,應用C++語言能夠進行,其代碼編寫為:

#define MaxStackSize 50 //常數

typedef int DataType;//定義數據類型

class Stack

{

private:

DataType list[MaxStackSize]; //棧數組及棧頂指針

int top;

public:

void Init(void); //初始化

void Push(DataType item);//入棧

DataType Pop(void);//出棧

}

Stack::Init(void)

{}//這里僅例述一個方法實現

在上述敘述的代碼編寫樣本中,Stack定義了棧對象,它包含對象數據如list和top,同時也包括對象方法,初始化棧Init()、入棧Push()和出棧Pop()操作。

在嵌入式軟件中,其各個模塊的設計,必然會涉及到編寫語言、編寫對象、編寫方法,所以,明確以上幾點,借助相應的對象編寫方法參考模板,完成相關代碼的編寫,可以說是目前一項較為合理、有效的方法。C++語言對象實例化方法就能夠實現Stack的方便應用,因為可以定義Stack s,并方便對象的調用,如s.Init()、s.Push()、s.Pop()等。

應用C語言如下編寫:

typedef struct

{

DataType list[MaxStackSize]; //棧數組及棧頂指針

int top;

void (*Init)(void *pStack); //初始化

void (*Push)(void *pStack ,DataType item);//入棧

DataType (*Pop)(void *pStack);//出棧

} Stack;

void StackInit(void *pStack)

{}//這里僅例述一個方法實現

#define StackDefault {\\

{0,},\\

{1},\\

{StackInit},\\

{StackPush},\\

{StackPop},\\

} //初始化宏

C語言通過結構體定義一個新類型Stack,這種既帶有數據又有方法的抽象數據類型已具有面向對象的特征。C語言實現對象方式的編寫,也必須要遵循一定的要求,具體如下:

C語言定義Stack,雖然可以定義為Stack s,但不能像C++一樣調用,即使編譯器不會報錯,但也無法執行,錯誤體現為C語言方法需要傳遞對象指針,而Stack的函數指針沒有被初始化,所以不能執行,因此要在聲明對象時,將Stack函數指針初始化,設定為默認值。

C語言代碼編制期間,在對默認值的設定進行具體劃分時,也應當遵循相應的原則,在利用Stack函數指針的基礎上,確保相關數值能夠處于初始化的狀態,以此來保證默認值設定的科學性和合理性。C語言應用Stack數據類型,就要聲明對象實例,并進行初始化操作,不同于C++,如Stack s=StackDefault,聲明對象實例,并且指針恢復初始。

四、總結

本文所述的模塊化代碼編寫的方法及要點,能夠滿足C語言的模塊化設計需求,極大的降低了模塊化程序編寫的難度,建議在軟件編程領域進行推廣。

參考文獻:

[1]文武,任鵬,王靈軍,等.模塊化嵌入式軟件開發平臺研究[J].家電科技,2016(6):8385.

猜你喜歡
模塊化嵌入式
模塊化自主水下機器人開發與應用
基于模塊化控制系統在一體化教學中的應用
模塊化住宅
現代裝飾(2020年5期)2020-05-30 13:01:56
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
ACP100模塊化小型堆研發進展
中國核電(2017年2期)2017-08-11 08:00:56
從模塊化中得到的二氧化碳
流程工業(2017年4期)2017-06-21 06:29:52
模塊化VS大型工廠
流程工業(2017年4期)2017-06-21 06:29:50
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
主站蜘蛛池模板: 亚洲综合二区| 动漫精品啪啪一区二区三区| 国产成人精品2021欧美日韩| 亚洲天堂久久| 欧美精品成人一区二区视频一| 国产免费网址| 国产乱子伦精品视频| 亚洲视频二| 国产主播喷水| 亚洲区第一页| 国产综合无码一区二区色蜜蜜| 亚洲欧洲综合| 啊嗯不日本网站| 久久久久九九精品影院| 亚洲成人精品| 在线亚洲精品自拍| 日本爱爱精品一区二区| 无码在线激情片| 国产91无码福利在线| 亚洲二区视频| 狠狠做深爱婷婷综合一区| 国产麻豆精品手机在线观看| 午夜视频免费一区二区在线看| 91在线国内在线播放老师| 色综合久久无码网| 国产伦精品一区二区三区视频优播 | 国产成人a在线观看视频| 国产爽歪歪免费视频在线观看 | 天堂岛国av无码免费无禁网站| 午夜福利在线观看入口| 久久久精品国产亚洲AV日韩| 国产一二视频| 欧美日本视频在线观看| 日韩av无码DVD| 欧美激情成人网| 亚洲国产精品久久久久秋霞影院| 一本大道香蕉久中文在线播放| 久草国产在线观看| 999国内精品久久免费视频| 精品一区二区三区波多野结衣| 欧美精品啪啪| 欧美黄色网站在线看| 欧美国产精品拍自| 久久亚洲国产最新网站| 国产精品欧美激情| 亚洲Av激情网五月天| 精品视频在线观看你懂的一区| 亚洲成人网在线观看| 毛片手机在线看| 国产精品粉嫩| 久无码久无码av无码| 国产一区免费在线观看| 尤物视频一区| 麻豆国产在线观看一区二区 | 激情五月婷婷综合网| 久久无码高潮喷水| 波多野结衣爽到高潮漏水大喷| 国产精品亚洲欧美日韩久久| 永久成人无码激情视频免费| 国产91丝袜在线播放动漫| 亚洲自偷自拍另类小说| 欧美精品成人| 97在线国产视频| 国产亚洲视频中文字幕视频 | 国产成人AV男人的天堂| 在线观看精品国产入口| 欧美高清国产| 欧美一区精品| 丝袜美女被出水视频一区| 久久永久精品免费视频| 亚洲人成日本在线观看| 99免费视频观看| 国产免费精彩视频| 亚洲天堂视频在线播放| 99尹人香蕉国产免费天天拍| 国产精品一区在线麻豆| 国产乱人乱偷精品视频a人人澡| 六月婷婷激情综合| 国产乱子精品一区二区在线观看| 国产18页| 无码AV高清毛片中国一级毛片| 欧美区国产区|