• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C++語(yǔ)言的跨平臺(tái)軟件開(kāi)發(fā)的設(shè)計(jì)

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

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

      基于C++語(yǔ)言的跨平臺(tái)軟件開(kāi)發(fā)的設(shè)計(jì)

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

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

      C++ 跨平臺(tái) 軟件編程

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

      1 跨平臺(tái)的概念

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

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

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

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

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

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

      3 C++語(yǔ)言的跨平臺(tái)軟件開(kāi)發(fā)的設(shè)計(jì)

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

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

      3.2 實(shí)現(xiàn)動(dòng)態(tài)處理

      在實(shí)際的開(kāi)發(fā)過(guò)程中,每當(dāng)編寫(xiě)一個(gè)旨在多種環(huán)境中運(yùn)行的可移植代碼庫(kù)時(shí),項(xiàng)目的開(kāi)發(fā)就會(huì)不可避免的面臨一個(gè)問(wèn)題,即怎樣處理在一個(gè)平臺(tái)上有而在另外一個(gè)平臺(tái)上沒(méi)有的特性。

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

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

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

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

      3.5 實(shí)現(xiàn)抽象

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

      4 結(jié)束語(yǔ)

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

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

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

      猜你喜歡
      跨平臺(tái)應(yīng)用程序代碼
      刪除Win10中自帶的應(yīng)用程序
      跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      創(chuàng)世代碼
      基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
      基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
      基于B/S的跨平臺(tái)用戶(hù)界面可配置算法研究
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      无极县| 沙田区| 漯河市| 河津市| 齐齐哈尔市| 华亭县| 武城县| 牟定县| 诏安县| 深水埗区| 饶阳县| 个旧市| 珠海市| 泰州市| 台东县| 柳州市| 中西区| 墨脱县| 汉中市| 边坝县| 富裕县| 上饶市| 罗甸县| 松桃| 曲阳县| 时尚| 太仆寺旗| 通州市| 武川县| 涿州市| 邢台县| 安化县| 永德县| 枞阳县| 古交市| 兴宁市| 岑溪市| 洛川县| 莱州市| 增城市| 九江县|