成人黄色在线网站 I 国产aa免费 I 中文字幕免费高清 I 国产三级影院 I 日韩欧美三级在线观看 I 久久久国产精品麻豆a片 I 欧美与黑人午夜性猛交久久久 I 91国产精品视频在线 I 国产美女狂喷水潮在线播放 I 黄页免费网站在线观看 I 欧美日韩激情视频 I 午夜理论无码片在线观看免费 I 深夜爽爽动态图无遮无挡 I 国精产品一区一区三区有限公司杨 I 天天操天天舔天天爽 I 免费看日本黄色片 I 成人va在线 I 日韩中文字幕在线观看 I 婷婷综合网 I 97视频免费观察看 I 色月丁香 I 日韩视频一二三 I 男女黄色毛片 I 美女疯狂连续喷潮视频 I 亚洲日本va一区二区sa I 欧美日韩视频区 I 毛片网在线 I 欧美一本在线 I 少妇一级淫片免费放香蕉 I avav在线看 I 久久精品亚洲中文字幕无码网站 I 天堂av在线中文在线新版 I 电影一区 电影二区 I 色av吧 中文字幕 I 国产精品伊人色

歡迎來到培訓(xùn)無憂網(wǎng)!

全國(guó)切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無憂網(wǎng) > 新聞資訊 > 電腦/IT > python培訓(xùn) >  用Python開發(fā)鴻蒙應(yīng)用

用Python開發(fā)鴻蒙應(yīng)用

來源:培訓(xùn)無憂網(wǎng) 發(fā)布人:彭二胖

2021-11-22 21:58:15|已瀏覽:471次

        考慮到很多同學(xué)可能是新手,這里首先要談?wù)劷徊婢幾g的概念!

        交叉編譯是嵌入開發(fā)中的基礎(chǔ)概念,名字看起來高端大氣上檔次,但其本質(zhì)還是編譯,也就是把 C/C++ 代碼編譯成可執(zhí)行程序,和我們初學(xué) C/C++ 語(yǔ)言時(shí)的  Hello World!程序編譯幾乎完全相同。

        那么,你可能會(huì)問,不同之處在哪里?

        不同之處僅僅是,Hello World!在本機(jī)編譯,可執(zhí)行程序在本機(jī)運(yùn)行;而交叉編譯則是:程序在本機(jī)編譯,而可執(zhí)行程序在設(shè)備運(yùn)行(即:本機(jī)無法直接運(yùn)行交叉編譯得到的二進(jìn)制文件)。

        對(duì)于大型嵌入式企業(yè),開發(fā)環(huán)境一般分為兩個(gè)部分:
        代碼編輯環(huán)境
        代碼編譯環(huán)境

        產(chǎn)品代碼位于代碼服務(wù)器上,每個(gè)員工遠(yuǎn)程登錄代碼服務(wù)器之后創(chuàng)建自己的代碼分支,之后就可以進(jìn)行代碼編輯和編譯了。

        其中,代碼編輯是在員工的工作 PC 上完成;而代碼編譯則是在服務(wù)器上完成。編譯得到的二進(jìn)制可執(zhí)行程序,需要拷貝到工作 PC 上之后燒寫到設(shè)備中。

        大家通過類比可以發(fā)現(xiàn),其實(shí)目前的鴻蒙設(shè)備開發(fā)方式就是企業(yè)級(jí)嵌入式產(chǎn)品的開發(fā)方式,只不過進(jìn)行了縮減而已!

        代碼編輯和代碼編譯在“不同的機(jī)器上”,兩臺(tái)機(jī)器通過網(wǎng)絡(luò)互聯(lián),交叉編譯得到的二進(jìn)制文件通過代碼編輯所在的環(huán)境燒寫到設(shè)備。

        那么,這有什么問題嗎?

        傳統(tǒng)的嵌入式開發(fā)方式對(duì)于程序老手來說,沒有任何問題,用起來游刃有余。但是,對(duì)于新手來說就可能是個(gè)噩夢(mèng)了。

        大家可以想想,程序出問題后如何定位?

        就目前鴻蒙設(shè)備開發(fā)的情況來說,只有打印日志這一招可用。這一招最常用,可問題也不少......

        當(dāng)然,有同學(xué)可能會(huì)說:“接個(gè) JTag 斷點(diǎn)調(diào)試就可以解決這個(gè)問題了!”

        我想說,理論上確實(shí)如此,但是目前支持鴻蒙系統(tǒng)的開發(fā)板(如:Hi3861 開發(fā)板)幾乎不可能使用 JTag 進(jìn)行調(diào)試!

        說得更簡(jiǎn)單一點(diǎn):目前還沒法用 JTag 對(duì)鴻蒙設(shè)備進(jìn)行調(diào)試。所以,得另想辦法,而 Python 是一個(gè)可行的選擇。

        Python 語(yǔ)言簡(jiǎn)單而又不失強(qiáng)大,用于設(shè)備應(yīng)用開發(fā)是再合適不過了。并且的,Python 開發(fā)者數(shù)量巨大,如果鴻蒙應(yīng)用開發(fā)能夠支持 Python 語(yǔ)言,那么鴻蒙宇宙又可以增加無數(shù)閃耀的新星!

        目標(biāo):除 C 語(yǔ)言之外,給開發(fā)者提供另一種選擇,可以使用 Python 語(yǔ)言開發(fā)鴻蒙設(shè)備應(yīng)用程序。

        所以,最迫切需要的是一個(gè) Python 語(yǔ)言解釋器,并且能夠作為應(yīng)用的一部分運(yùn)行于設(shè)備上。

        如下圖所示:

        那么現(xiàn)在的問題就是:如何獲得需要的 Python 語(yǔ)言解釋器?

        在這里有同學(xué)可能會(huì)問:為什么不直接移植 MicroPython?而是對(duì) MicroPython 做剪裁?

        原因很簡(jiǎn)單,我的想法是讓鴻蒙設(shè)備支持 Python 開發(fā)方式,而不是取代 C 語(yǔ)言開發(fā)方式,更不是取代鴻蒙!

        大家要明白 MicroPython 設(shè)計(jì)的初衷是直接運(yùn)行于微控器,使用 Python 控制硬件,所以 MicroPython 本身已經(jīng)具備了一些操作系統(tǒng)的特質(zhì),如果直接移植到設(shè)備(Hi3861 開發(fā)板),那么也就意味著用 MicroPython 替代了鴻蒙,這顯然與期望不符!

        MicroPython 的語(yǔ)言解釋器是對(duì) Python 的一個(gè)重新實(shí)現(xiàn),非常適合資源受限的嵌入式設(shè)備。

        因此,最好的做法就是剪裁 MicroPython 的語(yǔ)言解析器,之后將鴻蒙設(shè)備的系統(tǒng) API 接口綁定到 Python 語(yǔ)言(即:Python 版同名系統(tǒng) API),這樣就可以達(dá)到我的目的了。

        很顯然,在設(shè)備端需要開發(fā)一個(gè)應(yīng)用引擎。如果需要使用 Python 開發(fā)設(shè)備應(yīng)用程序,直接編譯運(yùn)行這個(gè)應(yīng)用引擎并運(yùn)行于設(shè)備之上。

        而設(shè)備應(yīng)用程序由 Python 腳本構(gòu)成,編寫好之后直接傳入設(shè)備中即可。

        講到這里相信各位同學(xué)也明白了,設(shè)備應(yīng)用的 Python 腳本其實(shí)根本“不知道”自己執(zhí)行在鴻蒙系統(tǒng)上,這些腳本的執(zhí)行僅僅需要 Python 解釋器和相應(yīng) API 接口。

        那么,請(qǐng)大家思考一下,如果這個(gè)引擎運(yùn)行于 Windows 之上會(huì)發(fā)生什么?

        會(huì)發(fā)生的事情顯然就是:我們可以在 Windows 上執(zhí)行為鴻蒙設(shè)備而編寫的 Python 應(yīng)用腳本。

        于是,前面所說的調(diào)試問題就可以迎刃而解了。

        在 Windows 上使用純 Python 語(yǔ)言模擬實(shí)現(xiàn)鴻蒙設(shè)備的 API 接口(Python 版),然后使用現(xiàn)有的 Python 開發(fā)環(huán)境調(diào)試設(shè)備應(yīng)用腳本(如:斷點(diǎn)調(diào)試)。

        這樣就可以大大提高開發(fā)效率,避免代碼中滿篇的添加 printf 打印語(yǔ)句。

        python 是使用 Java 語(yǔ)言對(duì) Python 的一個(gè)重新實(shí)現(xiàn),借助它就可以在 Java 中使用 Python 進(jìn)行編碼。

        而鴻蒙手機(jī) APP 支持使用 Java 語(yǔ)言進(jìn)行開發(fā),所以理論上可以在手機(jī) APP 中使用 Python 完成部分代碼的編寫!相關(guān)案例我會(huì)在后續(xù)為大家提供出來。

        本文由培訓(xùn)無憂網(wǎng)千鋒教育專屬課程顧問整理發(fā)布,希望能夠?qū)ο雽W(xué)習(xí)Python開發(fā)培訓(xùn)的同學(xué)有所幫助。更多Python開發(fā)培訓(xùn)課程歡迎關(guān)注培訓(xùn)無憂網(wǎng)Python開發(fā)培訓(xùn)頻道或添加老師微信:15033336050



      注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.hebeijilong.cn/news-id-4523.html 違者必究!部分文章來源于網(wǎng)絡(luò)由培訓(xùn)無憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注python培訓(xùn)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無憂網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽
提交申請(qǐng),《培訓(xùn)無憂網(wǎng)》課程顧問老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!