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

?

基于C++語言跨平臺軟件開發(fā)的設計實現(xiàn)

2014-10-21 20:07李俊超
電腦迷 2014年17期
關鍵詞:跨平臺軟件開發(fā)語言

李俊超

摘 要 C++作為一種主流的編程語言,不僅繼承了C語言的編程效率,而且拓展了自身的語音特性,例如模板、泛型編程等,因此幾乎所有的平臺都支持C++語言,并得到了廣泛地應用,然而在不同的平臺下,C++語言內部變量的定義和擴展功能卻不盡相同,這就給跨平臺軟件的設計開發(fā)帶來了很大的困難。本文簡要敘述跨平臺概念,并對C++跨平臺的開發(fā)的影響因素以及設計實現(xiàn)進行分析,提供了一些想法思路,希望能對跨平臺軟件的開發(fā)起到一定的推動作用。

關鍵詞 C++語言 跨平臺 軟件開發(fā) 設計實現(xiàn)

中圖分類號:TP31 文獻標識碼:A

20世紀70年代,Bell實驗室首先開發(fā)了C語言系列,經過十年的演化變遷,80年代C++語言便應運而生。C++語言是C語言的改良進化版本,除了沿用C語言直接運行在機器上,不需要虛擬機作為中介的高效率特點之外,根據(jù)軟件開發(fā)的需求還融入了虛函數(shù)、模板、操作符重載等特性功能,因此C++語言得到了特別廣泛地應用。C++語言幾乎所有的平臺下進行使用,然而在不同平臺之間的應用時卻難以兼容,隨著多元化軟件系統(tǒng)開發(fā)的需求日益增加,如何在軟件開發(fā)中設計并實現(xiàn)C++語言跨平臺的方案將會是今后工作的重點。

跨平臺是軟件開發(fā)中的常用概念,指的是在一個操作平臺Windows設計開發(fā)的應用程序在另一個操作平臺Linux下同樣能夠使用運行,二者完全兼容。隨著當前軟件工程的迅猛發(fā)展,跨平臺的軟件開發(fā)能夠給應用程序本身帶來巨大的市場潛力,與此同時,如果應用軟件針對不同的CPU提供并測試各自的編譯版本,再發(fā)布到各自平臺上而產生不同的軟件版本,這樣的工作量是特別龐大的,因此,跨平臺的開發(fā)致力于是應用程序幾乎不做修改就能運用到不同的平臺上。

1跨平臺軟件開發(fā)的影響因素

在C++語言跨平臺軟件開發(fā)過程中,除了各個平臺間差異性和兼容性之外,C++語言自身的特性以及編譯環(huán)境對其都有影響,無形之中加大了跨平臺軟件開發(fā)的難度。

(1)不同平臺之間的差異性

軟件開發(fā)中的編程語言并不能直接地作用于計算機硬件設備,它們需要調用系統(tǒng)的API接口來實現(xiàn)對計算機的控制操作,然而目前許多操作平臺的API接口都有自己的標準,并且相互之間差異性較大,例如Windows系統(tǒng)和Unix系統(tǒng)之間的API接口的實現(xiàn)方式和實現(xiàn)原理都不一樣,這就在很大程度上阻礙了同一款軟件應用于不同平臺。在實際開發(fā)過程中,操作平臺的差異性會貫穿始終,從設計、代碼編寫到最終測試都會涉及。

(2)編譯器的定義不同

編譯器的主要功能是根據(jù)特定的語言定義將源代碼轉變成為可執(zhí)行控制的指令,它顯然和C++語言的跨平臺應用有著十分巨大的關聯(lián),由于語言定義的不同,同一種源代碼在不同的編譯器中最終得到的控制指令也不盡相同,這也就造成了跨平臺軟件開發(fā)難以開展實現(xiàn)。例如目前Windows平臺上的Visual Studio C++編譯器和Linux平臺上的GCC編譯器適用于C++程序代碼的編譯,然而由于C++的許多語言特性的實現(xiàn)細節(jié)都留給了編譯器開發(fā)商,每個開發(fā)商對編譯器的定義不同,從而致使C++源代碼不能跨平臺編譯。

(3)編譯系統(tǒng)的不同

編譯系統(tǒng)可以簡單到一個執(zhí)行編譯器和連接器的命令腳本,也可以復雜到整個命令程序的生成。跨平臺的軟件開發(fā)必須要使用一個統(tǒng)一標準的編譯系統(tǒng),這樣才能達到對程序代碼執(zhí)行的一致性。例如Windows系統(tǒng)下的Visual Studio和Apple的Interface Builder編譯系統(tǒng)完全束縛了跨平臺編譯系統(tǒng)的開發(fā),這兩者之間的編譯定義、指令執(zhí)行都有著十分巨大的差別,往往同一個源代碼在各編譯系統(tǒng)中得到的編譯結果也完全不同,這也就導致跨平臺軟件開發(fā)無從談起。

2 C++語言跨平臺軟件開發(fā)的設計實現(xiàn)

C++語言跨平臺軟件開發(fā)的實現(xiàn)還存在著一些因素的阻礙,因此,采取何種方法措施清除這些影響因素是實現(xiàn)跨平臺軟件開發(fā)的關鍵。

(1)避免語言的擴展特性

許多語言為了滿足軟件開發(fā)的需求,往往會增添新的擴展特性,然而新的特性由于缺乏長期的實踐性和規(guī)范性,經常出現(xiàn)沒有被確切測試和精確定義的意外情況,其中常常包含著許多的異常漏洞和非標準內容,另外跨平臺開發(fā)對于程序的異常十分敏感,稍有瑕疵就難以排除障礙,因此,在實際的軟件開發(fā)過程中應當使用C++的標準特性而避免使用其擴展特性。

(2)建立跨平臺代碼庫

在跨平臺軟件開發(fā)過程中,通常會遇到某些特性定義一個平臺上有而另一個平臺上沒有的問題,例如Windows平臺有樹形控件和遞歸互斥體,DOS下沒有線程,Linux下的線程是依據(jù)進程來實現(xiàn),因此這就需要建立跨平臺代碼庫來解決這一問題,通過建立一套完善的跨平臺代碼庫來實現(xiàn)某些特性統(tǒng)一化。

(3)采用腳本文件進行管理

一般來說,軟件開發(fā)過程中將會編寫大量的代碼,特別是涉及到跨平臺領域時,這一問題就顯現(xiàn)地格外嚴重,因此為了是代碼編寫更加簡單明了,通常使用腳本文件進行管理。利用腳本文件在程序編譯之前將相關文件從中剝離出來,并分配到合適的位置上,然后再應用程序的運行過程中,再從配置文件中讀取所需要的配置選項,另外在軟件開發(fā)過程中要盡量隔離平臺依賴程度較高的文件格式,而是采用腳本文件來進行可控管理。

總而言之,隨著廣大用戶對軟件便利性和實用性功能的渴求,跨平臺軟件開發(fā)設計將會成為軟件工程中的一門重要分支,同時也將是今后軟件工程發(fā)展的方向趨勢。

參考文獻

[1] 羅莎.計算機中C語言的應用特點分析[J].計算機光盤軟件與應用,2012(05).

[2] 楊鵬.基于C++語言的跨平臺軟件開發(fā)的設計[J].硅谷,2014(02).

猜你喜歡
跨平臺軟件開發(fā)語言
一款游戲怎么掙到全平臺的錢?
潛力雙跨平臺:進階:誰將跨入下一個“十大”?
基于C++語言的跨平臺軟件開發(fā)
信息安全環(huán)境下的計算機軟件開發(fā)研究
核電廠定期試驗管理軟件開發(fā)
FPGA軟件開發(fā)過程中編碼規(guī)范的作用
我有我語言
基于C++語言的跨平臺軟件開發(fā)的設計
語言的將來
Action?。樱穑澹幔耄蟆。蹋铮酰洌澹颉。裕瑁幔睢。祝铮颍洌蟆∧銓χw語言了解多少