女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談HarmonyOS單模塊編譯

鴻蒙系統(tǒng)HarmonyOS ? 來(lái)源:oschina.net ? 作者:軟通夏德旺 ? 2021-02-05 11:40 ? 次閱讀

我這里以3518的開發(fā)板為例進(jìn)行講解,3516的也是通用的。

下面是之前全量編譯的腳本

python build.py ipcamera_hi3518ev300 -b debug

HarmonyOS最初只能支持全量編譯的方式,這種方式最大的弊端就是我們?cè)谙到y(tǒng)源碼上開發(fā)一個(gè)用戶態(tài)程序,每次都需要全量編譯好系統(tǒng)之后進(jìn)行鏡像的燒錄,每次編譯加燒錄少說(shuō)需要15分鐘時(shí)間,對(duì)于我們開發(fā)測(cè)試及其消耗時(shí)間,試想下每次就是想加入一行l(wèi)og調(diào)試下這么費(fèi)勁會(huì)多么麻煩。

還好,后面隨著HarmonyOS的源碼更新,開始支持用戶態(tài)程序的單模塊編譯了,編譯的腳本如下:

python build.py ipcamera_hi3518ev300 -T //applications/sample/camera/app:camera_app

這里以單獨(dú)編譯HarmonyOS自帶的HelloWorld項(xiàng)目為例,這個(gè)-T參數(shù)非常重要,它就是代表單模塊編譯的,//applications/sample/camera/app只的要編譯的模塊的絕對(duì)路徑,camera_app為要編譯的模塊名稱。

這里先結(jié)合HarmonyOS源碼講下-T參數(shù)的由來(lái),如果各位是通過(guò)下載壓縮包的方式下載的官方的code1.0的源碼壓縮包解壓的話,肯定是不支持該參數(shù)的,也就是說(shuō)不支持單模塊編譯。下面來(lái)看下該參數(shù)是在什么時(shí)候更新到源碼庫(kù)的吧,首先我們?nèi)itee上找到編譯構(gòu)建框架所在的代碼倉(cāng),如下圖

pIYBAGAcvO2ASDHfAAEP5kjj-38386.png

然后,我們查看該倉(cāng)庫(kù)下的commit記錄,然后就可以找到下面的關(guān)鍵記錄

pIYBAGAcvP2AM-dYAAAkajccrX4161.png

看commit的日志已經(jīng)很明確了這里加入了單模塊構(gòu)建,下面我們打開該commit記錄仔細(xì)看看具體修改了什么

pIYBAGAcvQuAIUbAAAChnwdl7ww195.png

看到這里,大家就知道這個(gè)-T參數(shù)怎么來(lái)的了吧,為了讓你的代碼支持單模塊編譯,趕緊去git更新下代碼吧,如果下載code1.0離線代碼的也不用著急,可以直接把build倉(cāng)下的最新代碼全部下載下來(lái)替換之前的build倉(cāng)即可。

下面再來(lái)講講前面單模塊編譯最后面的那個(gè)模塊名稱camera_app怎么來(lái)的吧,關(guān)于用戶態(tài)程序如何編譯的,建議大家好好看看官方源碼的“用戶程序框架”倉(cāng)下的介紹,絕對(duì)會(huì)受益良多。我這里挑重點(diǎn)講,首先是在//build/lite/product/ipcamera_hi3518ev300.json這個(gè)文件中進(jìn)行了用戶程序編譯的相關(guān)配置,可以理解為一個(gè)配置清單,告訴系統(tǒng)哪些用戶態(tài)程序需要參與編譯。我們可以在里面找到如下配置

{ "name": "applications", "component": [ { "name": "camera", "dir": "http://applications/sample/camera/app:camera_app", "features":[] }, { "name": "communication", "dir": "http://applications/sample/camera/communication:sample", "features":[] } ] },

看到dir后面的配置就自然會(huì)聯(lián)想到我們之前-T后面的參數(shù)為何要使用它了吧,那么最后的冒號(hào)后面的camera_app參數(shù)又從哪里來(lái)呢?

那么這里首先要對(duì)linux下的c語(yǔ)言編譯有一定了解才行了,大家如果看不懂后面的可以先去補(bǔ)習(xí)下Makefile和gn的知識(shí)。

這里每個(gè)用戶態(tài)程序都是通過(guò)gn文件配置進(jìn)行編譯的,我們先在源碼目錄下找到這個(gè)模塊路徑,如下圖

哈哈,大家可能會(huì)疑惑我咋是用idea在看代碼,因?yàn)楸救?a target="_blank">電腦沒(méi)安裝source insight,加上本人最精通的技術(shù)是javaAndroid,所以使用idea習(xí)慣了,一個(gè)快速檢索功能足夠我閱讀系統(tǒng)源碼了。

這里我們看到了BUILD.gn腳本,打開瞅瞅,可以看到如下關(guān)鍵代碼,

lite_component("camera_app") { target_type = "executable" features = [ ":hello_world", ] }

之前調(diào)用的參數(shù)模塊名稱camera_app就是在這里配置的。

下面簡(jiǎn)單列舉一個(gè)gn的一個(gè)標(biāo)準(zhǔn)的helloworld用法,如下

executable("hello_world") { sources = [ "hello_world.c", ] }

后面我在講如何創(chuàng)建一個(gè)獨(dú)立的用戶態(tài)程序會(huì)編寫這個(gè)gn文件和json文件。本篇已經(jīng)夠長(zhǎng)了,就放在下一篇博客講解了。

看系統(tǒng)源碼確實(shí)還是很有意思的,只奈工作太忙沒(méi)有時(shí)間看。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • intel
    +關(guān)注

    關(guān)注

    19

    文章

    3493

    瀏覽量

    187988
  • 燒錄
    +關(guān)注

    關(guān)注

    8

    文章

    284

    瀏覽量

    36176
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    2053

    瀏覽量

    32159
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    模塊單模和多模的六大區(qū)別及區(qū)分方法

    本文開始介紹了單模模塊與多模光模塊的相關(guān)概念,其次介紹了光模塊單模和多模的區(qū)別,最后介紹了單模
    發(fā)表于 04-19 14:41 ?21.4w次閱讀

    單模模塊和多模光模塊之間的區(qū)別

    隨著光通訊、數(shù)據(jù)中心的發(fā)展,光模塊的應(yīng)用越來(lái)越廣泛。而光模塊類型、傳輸數(shù)據(jù)也是越來(lái)越多樣化。40G光模塊、100G光模塊單模
    發(fā)表于 05-03 10:36 ?3.2w次閱讀

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問(wèn)題

    淺談 Atmel Studio 6和IAR C編譯器之間的鏈接問(wèn)題
    的頭像 發(fā)表于 07-04 09:50 ?3796次閱讀

    模塊單模和多模的區(qū)別

    一般多模光波長(zhǎng)為850nm,單模光波長(zhǎng)則主要以1310nm和1550nm為主。多模光模塊由于模間色散比較嚴(yán)重,只能用于短距離傳輸(SR);而單模模塊多用于LR、ER、ZR等遠(yuǎn)距離傳輸
    的頭像 發(fā)表于 06-24 16:09 ?4.8w次閱讀

    單模光纖和多模光纖的區(qū)別 單模模塊和多模光模塊的區(qū)別

    我們知道光纖和光模塊都有單模和多模兩種類型,那么我們可能在使用中會(huì)產(chǎn)生疑問(wèn),單模/多模光纖和單模/多模光模塊如何配套使用?它們可以混用嗎?龍
    的頭像 發(fā)表于 09-16 11:19 ?1.6w次閱讀

    如何區(qū)分單模多模光模塊的區(qū)別

    隨著光通信技術(shù)的發(fā)展,單模與多模光模塊成為了光纖通信系統(tǒng)中的重要組成部分。 一、概述 光模塊是光通信系統(tǒng)中用于將光信號(hào)轉(zhuǎn)換為電信號(hào)或者將電信號(hào)轉(zhuǎn)換為光信號(hào)的重要部件。根據(jù)光纖的工作方式的不同,光
    的頭像 發(fā)表于 04-03 16:48 ?3446次閱讀

    單模光纖能用多模光模塊嗎為什么

    單模光纖和多模光纖是兩種不同的光纖傳輸方式。單模光纖通常用于長(zhǎng)距離傳輸和高速傳輸,而多模光纖則主要用于短距離傳輸。由于它們之間存在一些差異,因此不能直接使用多模光模塊進(jìn)行單模光纖的傳輸
    的頭像 發(fā)表于 04-03 16:50 ?4517次閱讀

    單模模塊可以用多模光纖嗎

    單模模塊和多模光纖是光通信中常用的組件。單模模塊主要用于傳輸單一模式的光信號(hào),而多模光纖則可以傳輸多種不同模式的光信號(hào)。所以,嚴(yán)格來(lái)說(shuō),單模
    的頭像 發(fā)表于 04-03 16:57 ?5208次閱讀

    單模模塊和多模光模塊的區(qū)別

    在光纖通信領(lǐng)域,光模塊是實(shí)現(xiàn)光信號(hào)傳輸和接收的關(guān)鍵組件。在光模塊市場(chǎng)上,單模(Single-Mode,簡(jiǎn)稱SM)和多模(Multi-Mode,簡(jiǎn)稱MM)是兩種常見(jiàn)的類型,它們?cè)趹?yīng)用場(chǎng)景、性能特點(diǎn)和技術(shù)參數(shù)等方面存在明顯的差異。本
    的頭像 發(fā)表于 05-28 15:28 ?9514次閱讀

    單模單纖光模塊怎么配對(duì)

    單模單纖光模塊是一種光纖通信設(shè)備,主要用于長(zhǎng)距離、高速率的光纖通信系統(tǒng)中。它采用單模光纖作為傳輸介質(zhì),具有傳輸距離遠(yuǎn)、帶寬大、信號(hào)質(zhì)量好等特點(diǎn)。 一、光模塊的選型 光
    的頭像 發(fā)表于 08-08 17:06 ?2171次閱讀

    單模單纖光模塊是用哪種光纖跳線

    單模單纖光模塊是一種常見(jiàn)的光通信設(shè)備,它使用單模光纖跳線進(jìn)行數(shù)據(jù)傳輸。 單模單纖光模塊的定義 單模
    的頭像 發(fā)表于 08-08 18:15 ?1752次閱讀

    如何解決單模模塊使用多模光纖的問(wèn)題

    單模模塊和多模光模塊是兩種不同類型的光模塊,它們?cè)诠饫w通信系統(tǒng)中有著不同的應(yīng)用場(chǎng)景。 單模模塊
    的頭像 發(fā)表于 08-23 09:47 ?2212次閱讀

    萬(wàn)兆光模塊單模和多模的區(qū)別

    萬(wàn)兆光模塊,即10Gbps(10 Gigabit per second)的光模塊,是現(xiàn)代通信系統(tǒng)中不可或缺的組件之一。它們?cè)跀?shù)據(jù)中心、企業(yè)網(wǎng)絡(luò)、服務(wù)提供商網(wǎng)絡(luò)等場(chǎng)景中廣泛應(yīng)用。萬(wàn)兆光模塊主要分為
    的頭像 發(fā)表于 08-23 09:49 ?3773次閱讀

    千兆光模塊單模與雙模的區(qū)別

    千兆光模塊單模與雙模的主要區(qū)別體現(xiàn)在以下幾個(gè)方面: 1. 傳輸模式與光纖芯徑 單模模塊:其傳輸模式為單一光波長(zhǎng)模式,光纖芯徑較細(xì),只能容納單一光波傳輸。這種設(shè)計(jì)使得
    的頭像 發(fā)表于 09-25 10:11 ?2519次閱讀

    如何區(qū)分單模和多模光模塊

    如何區(qū)分單模和多模光模塊
    的頭像 發(fā)表于 04-28 15:34 ?447次閱讀
    如何區(qū)分<b class='flag-5'>單模</b>和多模光<b class='flag-5'>模塊</b>