?

基于C++語言的跨平臺軟件開發的設計

2014-04-21 15:40楊鵬
新媒體研究 2014年4期
關鍵詞:跨平臺代碼應用程序

楊鵬

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

中圖分類號:TP317 文獻標識碼:A 文章編號:1671-7597(2014)04-0019-01

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

1 跨平臺的概念

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

2 跨平臺的開發所需要的環境

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

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

2)Sandbox中含有的工具是否可以使應用程序與多元性的目標平臺進行合理的整合。

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

對跨平臺開發來說實現抽象是很重要的一個因素,但是利用與平臺相關的工具包也需要使用相適應的工具。這些開發工具往往并不是統一的,比如Linux上流行的GCC在Windows下的使用并不如VisualStudio.nct中的C++。要達到這個目的,就要把用抽象以及相關的設計使用新的開發手段進行開發,實現在不同的平臺下都能進行編譯。

3 C++語言的跨平臺軟件開發的設計

3.1 避免語言的擴展特性

不管我們依據哪一種形式的方法進行編程,一般要選擇比較老的程序庫或文件。比較老的程序庫里面的一些原有程序和公式都是很規范的和標準的,不像現在的一些新的程序庫一樣比較的雜亂無章。有非常普遍出現的故障在跨平臺上產生,有時在獲得支持后,還是會出現沒有定義精確的事故??缙脚_開發是對異常靈敏度要求很高的,無限度的利用新特性,就會使軟件很難排除異常情況。所以,在跨平臺開發時要調用C++的標準函數模型,這樣就會使已開發的軟件和產品的穩定性更加強。

3.2 實現動態處理

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

3.3 使用腳本文件進行管理

要達到使編寫的程序代碼簡潔、易懂的目的,要使軟件的結構更加的合理,這就要求先把與平臺相關聯的文件和數據庫分割開來,再把在開發期間要用的腳本文件進行編譯,再合理的分到各個部位。在使用應用程序時,要把配置文件里的配置選項調出來進行讀取里面的程序。因此,當跨平臺軟件開發時,要使與平臺相關聯的文件全部進行分離,要利用特殊的手段來實現該功能。

3.4 使用安全的數據串行化

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

3.5 跨平臺開發中的編譯與測試

當進行跨平臺軟件開發時會與修改和編寫的很多代碼有關聯,相關聯的代碼會在很長的時期內不能在另外的平臺檢測,也會造成bug的潛藏時間增長。所以,要在多個不同的平臺下進行測試,這樣就能及時發現bug。

3.6 實現抽象

實現抽象是處理跨平臺中應用程序能被移植難題的有效方式。通過這種方式我們就能不利用一般的結構體系而進行單獨的軟件開發,同時還能夠使編出的程序更加的獨立化和簡潔化。當對跨平臺進行開發時,會有非常多的函數要進行利用,但是開發時不用編譯所有的函數,通常使用的方法是封裝,這些就是實現抽象的過程。封裝的方法并不是在任何情況下都是適用的,當遇到一些特殊的情況時,我們要使用其他的方式來進行程序的調用,我們提前可以將編寫好的功能程序存放到程序空中,并以該功能命名,當我們使用該程序或公式的時候,可以直接調用該功能的程序,便可以實現該功能。不管選用哪一種方式無非是對任意接口函數與平臺中的聯系進行隱藏。

4 結束語

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

參考文獻

[1]夏雪挺.跨平臺數據庫備份的設計與實現[D].西南交通大學,2006.

[2]孫波.跨平臺工具軟件在控制軟件開發中的應用[D].上海交通大學,2009.endprint

猜你喜歡
跨平臺代碼應用程序
一款游戲怎么掙到全平臺的錢?
潛力雙跨平臺:進階:誰將跨入下一個“十大”?
刪除Win10中自帶的應用程序
谷歌禁止加密貨幣應用程序
基于C++語言的跨平臺軟件開發
神秘的代碼
一周機構凈增(減)倉股前20名
重要股東二級市場增、減持明細
一種虛擬現實應用程序跨平臺方法的研究
近期連續上漲7天以上的股
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合