中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

軟件開發中的跨平臺這件事兒

2021-05-28    分類: 軟件開發

跨平臺很神秘嗎
剛剛開始做開發的時候,感覺跨平臺是那么高大上,就像夕陽下,湖面上的一朵白蓮花,只可遠觀,不可褻玩焉。那么,跨平臺到底是怎么一回事兒。難道真的有什么東西可以跨平臺嗎,這就像一臺多功能交通設備,投到水里能游,放到陸地上能跑,扔到天上能飛,加速到第二宇宙速度都能脫離地球了進行星際航行了。
揭開跨平臺神秘面紗
讓我們一起來揭開跨平臺神秘的面紗,比起一種語言是不是跨平臺的,我們更關心的是功能可不可以跨平臺,畢竟我們使用各種開發語言是為了實現某些功能。舉個例子,假設我們打算用 Java 開發了一款游戲,這個游戲要跨 Mac、Windows、桌面版Linux 三個平臺,怎么完成這個功能呢。
假設要完成游戲中人物的顯示,這樣一個看似很簡單的功能,程序從上層向下層要做下面這些:
1、最上層 Java 要調用一個圖像相關的類庫;
2、這個類庫要調用系統層提供的接口,比如顯卡驅動相關接口;
3、這個顯卡驅動相關的接口又調用了顯卡的硬件接口;
我們再從下向上分析一下,如果要做到跨平臺要做到什么?
1、最后調用到了硬件接口,那么首先要保證硬件是相同的,比如顯卡是相同的,這就要保證世界上各大顯卡廠商使用相同的標準;
2、再往上保證顯卡配套的顯卡驅動接口是相同的;
3、再往上還要保證系統暴露給上層的驅動接口調用 API 是相同的,這就要求三個平臺具有相同的驅動 API 標準;
通過以上我們發現一個語言可不可以跨平臺要看它的下一層是不是跨平臺,依次類推,最后總會到達硬件層次。最后得出的結論就是只有硬件是同一種標準,那才能實現真正意義上的跨平臺。但是由于歷史、商業等等各種原因,導致完全統一標準幾乎是不可能的。
所以目前所說的語言跨平臺、框架跨平臺都是用其他方式實現的,并且我們可以把這里的平臺理解為語言、框架的下一層級的載體。
幾種語言的跨平臺方式
比如說 HTML是跨平臺的,他跨的平臺指的是瀏覽器,瀏覽器幾乎都遵循 w3c 標準,所以 HTML 是這樣實現跨平臺的。
比如說 C語言是不是跨平臺的,C 語言常常被用在偏底層的開發。那么 C 語言是如果在多個平臺運行的呢?首先要編寫代碼,編寫的代碼要兼容要跨的平臺,要支持 windows 平臺,那么就要為 windows 實現一套代碼,要支持 Linux 就要為 Linux 實現一套,然后當要執行的時候,簡單粗暴的說就是加上 if else做個判斷,是哪個平臺就用其對應的代碼,著名的 GUI 開發框架 Qt j就是這個原理嘛,框架本身幫你做好了平臺判斷,在哪個平臺就用哪個平臺下的 GUI 接口,所以開發者只需要調用它包裝包的接口即可。寫完代碼之后,拿這套代碼到各個平臺去編譯成當前平臺需要的格式,這里又涉及到了編譯器,不同平臺下的編譯器也是不同, windows 下的編譯器需要把 C 代碼編譯成 windows 下可執行的文件格式,Linux 下的編譯器需要把 C 代碼編譯成 Linux 下的可執行文件格式。
再比如說 Java, Java 的口號是 Write once, run anywhere,也就是一次編寫,到處運行(跨平臺運行)。聽上去比 C 語言還要厲害,寫一次就好,不用再到各個平臺上去編譯,厲害了。這都要歸功到 JVM(Java 虛擬機)上,JVM 有他自己的字節碼格式和具體的執行機制,只要把 Java 代碼編譯成 JVM 需要的字節碼即可。以開發者的視角,確實是跨平臺了。但是具體是怎么實現的呢?首先我們安裝 JDK 的時候會根據平臺不同選擇不同的版本,當然 JVM 也就選擇了不同的版本,而代碼要執行的時候,不同平臺版本的 JVM 會根據自身所在的平臺,把字節碼轉換成平臺所需的機器碼。看著是不是很眼熟,這不就是 C 語言里不同平臺的編譯器嗎。
回到最開始提到的那個交通設備,真的要把把它做出來,那要具備渦輪一類的推水裝置、 路面行走的輪子、噴氣式裝置,甚至核能推進器。總結起來就是說,要跨平臺就要有對應平臺的功能實現。作為開發者來說,我們使用的一些語言或框架可以方便的跨平臺,不需要我們關系細節,是因為語言或框架本身幫我們做了繁雜的適配工作。
揭開跨平臺的面紗,是不是感覺這概念沒那么神秘了。

名稱欄目:軟件開發中的跨平臺這件事兒
地址分享:http://m.2m8n56k.cn/news/115430.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 国产成人一区二区三区在线视频 | 女人成午夜大片7777在线 | 久久性精品 | 欧美一级特黄aa大片 | 欧美性猛交xxxx免费看手交 | 日本亚洲综合 | 国产人成精品 | 欧美视频在线观在线看 | 国产精品久久久久无码av | 欧美精品在线免费观看 | 欧洲成人r片在线观看 | 亚洲天堂网在线视频 | 很黄很暴力深夜爽爽无遮挡 | 久久免费看视频 | 九九久久久久久久爱 | 欧美一区二区三区不卡 | 4438全国最大成人网视频 | 欧美日韩一区二区不卡三区 | 日本理论片免费高清影视在线观看 | 免费一级做a爰片久久毛片 免费一级做a爰片性色毛片 | 日韩一级片免费 | 特级黄色毛片在放 | 亚洲人成高清 | 久久99国产亚洲精品 | 欧美成人看片一区二区三区 | 国产一级一级毛片 | 久久成人午夜 | 国产精品热久久毛片 | 欧美性妇 | 亚洲日韩视频免费观看 | 亚洲欧洲一二三区机械有限公司 | 中文字幕在线观看亚洲日韩 | 久久手机在线视频 | 欧美精品束缚一区二区三区 | 成人区精品一区二区不卡亚洲 | 三级伦理网站 | 91精品欧美综合在线观看 | 欧美特黄一级高清免费的香蕉 | 九一福利视频 | 亚洲精品国产精品一区二区 | 欧美成a人片在线观看久 |