国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于C++語言的跨平臺軟件開發(fā)的設(shè)計

2017-12-28 15:45王建龍河北諾亞人力資源開發(fā)有限公司
數(shù)碼世界 2017年12期
關(guān)鍵詞:跨平臺應(yīng)用程序代碼

王建龍 河北諾亞人力資源開發(fā)有限公司

基于C++語言的跨平臺軟件開發(fā)的設(shè)計

王建龍 河北諾亞人力資源開發(fā)有限公司

在如今的計算機(jī)語言里面,使用頻率和次數(shù)比較多的是C++語言,因為它具有比較高的編程速度,不僅這樣它還有一些獨特的地方。但是,通過一些實際的編程過程,我們可以知道C++語言還是存在一些缺陷的,它會給一些跨平臺軟件的開發(fā)帶來很大的困難。經(jīng)過大量的軟件編程實踐,文章簡介了跨平臺的概念、開發(fā)環(huán)境和開發(fā)設(shè)計的思路。

C++ 跨平臺 軟件編程

使用C++語言進(jìn)行跨平臺的開發(fā),目的是把應(yīng)用程序的代碼處理成能夠在已有的平臺下使用和能執(zhí)行文件。但是在其他平臺中,處理后的文件不可以被使用,特別在Windows與Unix平臺下更不能使用。所以,要解決和處理這個缺陷,就要將源程序的代碼翻譯成在各個平臺下都能使用的文件。通過幾十年的發(fā)展和演變,C++語言基本上能夠在所有的平臺下進(jìn)行工作,但是在不同平臺下的編譯也會不同,也造成了語言之間的不同。同樣的,設(shè)計一個新產(chǎn)品就要對操作系統(tǒng)的函數(shù)進(jìn)行使用和調(diào)用。因此,要避免這種區(qū)別就要在代碼中使用條件選擇編譯、進(jìn)行工程模式編譯或可以使用預(yù)編譯。各種平臺使用的程序編譯手段也是不一樣的。要使在不同平臺下進(jìn)行程序編譯時出現(xiàn)最小的差別就要手動對編譯條件的設(shè)置控制或管理。使用腳本文件和環(huán)境變量,還可以使用第三方軟件對代碼進(jìn)行動態(tài)編譯,這樣就能使跨平臺開發(fā)的難度簡化。

1 跨平臺的概念

在軟件開發(fā)中有個很重要的概念就是跨平臺,跨平臺和操作系統(tǒng)無關(guān)也與硬件環(huán)境不相關(guān)聯(lián)。如果一個應(yīng)用程序是在操作系統(tǒng)下開發(fā)和設(shè)計的,那把它放在其他操作系統(tǒng)中也能使用。隨著軟件工程的發(fā)展對跨平臺開發(fā)的需求也在不斷的增加,所以要開發(fā)出能夠在各種各樣的平臺下都能使用的應(yīng)用程序,就能為應(yīng)用程序創(chuàng)造很大的市場份額。

2 跨平臺的開發(fā)所需要的環(huán)境

軟件編輯器、程序編譯器和程序調(diào)試器是構(gòu)成開發(fā)環(huán)境的三個組成部分。Sandbox是進(jìn)行代碼編譯和調(diào)試的軟件,其內(nèi)部含有各種平臺下需要的不同種類的依賴庫和代碼庫。在程序的開發(fā)中它還含有各種源代碼。它的配置對多元化的平臺的要求也是很高的,通常講,C/C++語言的軟件開發(fā)和編譯要在各個平臺上能夠使用,還要注意以下問題。

1)最終結(jié)果的質(zhì)量:Sandbox中所選擇的工具是否能夠產(chǎn)生最好的代碼。是否能夠產(chǎn)生最簡潔,最友好的配置文件以及在捕捉錯誤和調(diào)試時是否能夠提供足夠的支持。

2)Sandbox中含有的工具是否可以使應(yīng)用程序與多元性的目標(biāo)平臺進(jìn)行合理的整合。

3)創(chuàng)立的Sandbox是不是可以使管理更加的簡單,即能否在不同的平臺進(jìn)行變換時出現(xiàn)最小差異的文件。

3 C++語言的跨平臺軟件開發(fā)的設(shè)計

3.1 避免語言的擴(kuò)展特性

不管我們依據(jù)哪一種形式的方法進(jìn)行編程,一般要選擇比較老的程序庫或文件。比較老的程序庫里面的一些原有程序和公式都是很規(guī)范的和標(biāo)準(zhǔn)的,不像現(xiàn)在的一些新的程序庫一樣比較的雜亂無章。有非常普遍出現(xiàn)的故障在跨平臺上產(chǎn)生,有時在獲得支持后,還是會出現(xiàn)沒有定義精確的事故。

3.2 實現(xiàn)動態(tài)處理

在實際的開發(fā)過程中,每當(dāng)編寫一個旨在多種環(huán)境中運行的可移植代碼庫時,項目的開發(fā)就會不可避免的面臨一個問題,即怎樣處理在一個平臺上有而在另外一個平臺上沒有的特性。

3.3 使用腳本文件進(jìn)行管理

要達(dá)到使編寫的程序代碼簡潔、易懂的目的,要使軟件的結(jié)構(gòu)更加的合理,這就要求先把與平臺相關(guān)聯(lián)的文件和數(shù)據(jù)庫分割開來,再把在開發(fā)期間要用的腳本文件進(jìn)行編譯,再合理的分到各個部位。在使用應(yīng)用程序時,要把配置文件里的配置選項調(diào)出來進(jìn)行讀取里面的程序。因此,當(dāng)跨平臺軟件開發(fā)時,要使與平臺相關(guān)聯(lián)的文件全部進(jìn)行分離,要利用特殊的手段來實現(xiàn)該功能。

3.4 使用安全的數(shù)據(jù)串行化

如何使用安全和可靠的對數(shù)據(jù)進(jìn)行存儲和加載是跨平臺要解決的核心問題。利用軟件的“fwrite”或“fread”指令可以對每個編譯器和單一目標(biāo)平臺處理。若果是在跨平臺的操作環(huán)境中,利用這種方法對數(shù)據(jù)進(jìn)行存儲和加載就不能做到平臺間的獨立性。如果要利用跨平臺對數(shù)據(jù)存儲到目標(biāo)文件外,不同平臺間是有差異的,這樣也會引起結(jié)果的多樣性。

3.5 實現(xiàn)抽象

實現(xiàn)抽象是處理跨平臺中應(yīng)用程序能被移植難題的有效方式。通過這種方式我們就能不利用一般的結(jié)構(gòu)體系而進(jìn)行單獨的軟件開發(fā),同時還能夠使編出的程序更加的獨立化和簡潔化。當(dāng)對跨平臺進(jìn)行開發(fā)時,會有非常多的函數(shù)要進(jìn)行利用,但是開發(fā)時不用編譯所有的函數(shù),通常使用的方法是封裝,這些就是實現(xiàn)抽象的過程。

4 結(jié)束語

本文主要介紹了跨平臺的定義和進(jìn)行跨平臺設(shè)計所需要的環(huán)境以及怎樣進(jìn)行跨平臺設(shè)計。在進(jìn)行跨平臺設(shè)計的過程中我們結(jié)合了其他軟件設(shè)計的一些思路和方法,經(jīng)過大量的軟件設(shè)計實踐,得出了一套跨平臺設(shè)計的方法和手段。與此同時我們還要在開發(fā)的軟件中加入更多的功能和操作容積。對跨平臺進(jìn)行設(shè)計而言,經(jīng)驗是很重要的,經(jīng)驗越豐富的設(shè)計工程師設(shè)計的軟件的功能會越好一些,沒有經(jīng)驗的工程師,在首次設(shè)計時很難利用跨平臺設(shè)計一個非常完美的應(yīng)用軟件。所以,本文介紹了跨平臺軟件設(shè)計的一些技術(shù),希望可以為跨平臺的開發(fā)的設(shè)計工程師提供一些幫助。

[1]夏雪挺.跨平臺數(shù)據(jù)庫備份的設(shè)計與實現(xiàn)[D].西南交通大學(xué),2006.

[2]孫波.跨平臺工具軟件在控制軟件開發(fā)中的應(yīng)用[D].上海交通大學(xué),2009.

猜你喜歡
跨平臺應(yīng)用程序代碼
跨層級網(wǎng)絡(luò)、跨架構(gòu)、跨平臺的數(shù)據(jù)共享交換關(guān)鍵技術(shù)研究與系統(tǒng)建設(shè)
一款游戲怎么掙到全平臺的錢?
潛力雙跨平臺:進(jìn)階:誰將跨入下一個“十大”?
刪除Win10中自帶的應(yīng)用程序
谷歌禁止加密貨幣應(yīng)用程序
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
基于C++語言的跨平臺軟件開發(fā)的設(shè)計