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
主站蜘蛛池模板: 91精品国产91久久久久久三级| 在线看片中文字幕| 日韩精品欧美国产在线| 2022国产91精品久久久久久| 亚洲一区二区三区中文字幕5566| 亚洲综合色在线| 九色在线观看视频| 看av免费毛片手机播放| 91精品小视频| 波多野结衣一区二区三区AV| 免费一级毛片在线观看| a级毛片免费在线观看| 亚洲精品动漫| 伊人色综合久久天天| 一区二区理伦视频| 日韩福利视频导航| 一本大道无码高清| 日韩免费毛片| 久久久久久久久18禁秘| 国产精品手机在线观看你懂的 | 亚洲免费人成影院| 亚洲中文字幕久久无码精品A| a天堂视频在线| 日韩欧美中文字幕在线韩免费| 狠狠干综合| 中文字幕亚洲综久久2021| 99热这里只有精品5| 日本午夜网站| 久久九九热视频| 高清久久精品亚洲日韩Av| 乱人伦视频中文字幕在线| a毛片免费在线观看| 一级毛片免费不卡在线视频| 国产网站免费观看| 久久99国产综合精品女同| 激情综合网址| 亚洲精品国偷自产在线91正片| www.99在线观看| 亚洲—日韩aV在线| 韩日无码在线不卡| а∨天堂一区中文字幕| 人妻丝袜无码视频| 亚洲国产中文精品va在线播放| 99er这里只有精品| 在线观看国产小视频| 精品视频在线观看你懂的一区| 欧美日韩专区| 欧美亚洲欧美| 手机永久AV在线播放| 久久国产香蕉| 国产成人亚洲精品色欲AV| 国产18在线| 在线免费看片a| 2021天堂在线亚洲精品专区| 国产一级在线播放| 3344在线观看无码| 男女猛烈无遮挡午夜视频| 欧美日韩激情在线| 欧美午夜在线观看| 另类重口100页在线播放| 91福利在线看| 91欧洲国产日韩在线人成| 人人妻人人澡人人爽欧美一区 | 亚洲三级色| 91在线播放免费不卡无毒| 在线免费看黄的网站| 黄色网站不卡无码| 91口爆吞精国产对白第三集| 97亚洲色综久久精品| 亚洲91精品视频| 国产波多野结衣中文在线播放| 72种姿势欧美久久久大黄蕉| 久久频这里精品99香蕉久网址| 欧美成人一级| 久久一色本道亚洲| 三上悠亚一区二区| 谁有在线观看日韩亚洲最新视频| 日韩在线视频网| 中文字幕日韩丝袜一区| 人妻丰满熟妇αv无码| 毛片a级毛片免费观看免下载| 欧美精品二区|