欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

軟件開發(fā)中的跨平臺(tái)這件事兒

2021-05-28    分類: 軟件開發(fā)

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

當(dāng)前題目:軟件開發(fā)中的跨平臺(tái)這件事兒
路徑分享:http://www.aaarwkj.com/news30/115430.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)
国产精品区一区二区三区| 成人精品超碰一区二区| av天堂久久这里只有精品美国| 亚洲一区二区三区不卡伦理| 性生活视频在线观看免费| 丰满人妻中出av在线| 中国美女下面毛茸茸视频| 天堂av一区二区在线播放| 亚洲第一国产综合自拍| 日韩av裸体在线播放| 最新国产毛片久热精品视频| 饥渴少妇高潮露脸嗷嗷叫| 日韩欧美人妻一二三四区| 曰本真人性做爰视频免费| 爱我久久视频网免费视频| 国产欧美成人精品第一区| 亚洲国产欧美日韩在线| 欧美亚洲清纯唯美另类| 人人妻人人澡人人爽久久av| 亚洲人妻乱人伦中文字幕在线| 91激情黑丝在线观看| 久久久精品国产亚洲av色哟哟| 国产偷国产偷亚洲综合av| 亚洲精品成人一区二区| 国产三级国产精品国产| 国产九色91中文在线视频| 国产福利91精品一区二区三| 日本成人午夜福利电影| 熟妇人妻中文字幕在线| 欧美日韩精品乱码在线观看| 青青草原三区在线播放| 国产剧情av色诱女教师| 中国女人内射91熟女| 天天做日日干夜夜操| 亚洲精品尤物福利视频| 成人性生交视频免费看| 精品日韩欧美在线观看91| 欧美一区二区三区爽| 亚洲国产日韩欧美一级| 91精品欧美综合在线| 98精品熟女亚洲av|