自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenHarmony編譯構(gòu)建系統(tǒng)—介紹新增組件以及組件模塊開發(fā)

系統(tǒng) OpenHarmony
本文介紹了編譯構(gòu)建系統(tǒng)的使用,新增組件的步驟,組件模塊開發(fā)的方法。在applications\sample目錄下新建component_demo目錄,之后在component_demo目錄下新建demo.c文件。

想了解更多關(guān)于開源的內(nèi)容,請訪問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

前言

本文介紹了編譯構(gòu)建系統(tǒng)的使用,新增組件的步驟,組件模塊開發(fā)的方法。

新增組件

準(zhǔn)備好開發(fā)套件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

一、編寫組件源碼

在applications\sample目錄下新建component_demo目錄。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

之后在component_demo目錄下新建demo.c文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

開始編寫… 保存文件。

ps: 源碼各部分組成簡介可以看我的另一篇文章 https://ost.51cto.com/posts/25049。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

二、編寫編譯腳本

在component_demo目錄下新建BUILD.gn文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

開始編寫編譯腳本… 保存文件。

  • ps1: static_library是靜態(tài)庫 testdemo是庫名稱,最終會被編譯成libtestdemo.a。
  • ps2: sources 指定要編譯的demo.c源文件。
  • ps3: include_dirs是指定的include目錄 "http://"表示源碼根目錄,后面是目錄名稱。
  • ps4: 注意逗號。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

三、單獨編譯目標(biāo)

打開虛擬機,找到1.1.3源碼根目錄,選擇在終端打開。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

查看具體用法。

hb build -h

ps:語法是 hb build -T 路徑 : 目標(biāo)。

hb build -f -T //applications/sample/component_demo:testdemo

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

四、添加組件定義

回到VSCode 根據(jù)路徑 build\lite\components\applications.json 打開applications.json。

定義組件,保存文件。

ps1: targets是編譯入口 是源碼根目錄下的applications/sample/component_demo:testdemo。

ps2: adapted_kernel是適配內(nèi)核。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

五、將組件配置到產(chǎn)品

根據(jù)路徑 vendor\hisilicon\hispark_pegasus\config.json 打開config.json 找到 “subsystem”: “applications” 進(jìn)行配置,保存文件。

  • ps: 注意逗號。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

單獨編譯組件。

hb build -f testdemo

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

  • ps:在輕量系統(tǒng)中,單獨編譯的目標(biāo)或組件,不能獨立運行,適合發(fā)現(xiàn)編譯錯誤。

燒錄運行的話,需要進(jìn)行固件的全量編譯。

hb build -f

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

六、燒錄固件

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

七、運行

燒錄完成之后,打開MobaXterm,連接串口,重啟開發(fā)板。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

組件模塊開發(fā)

一、建立根目錄

根據(jù)路徑 applications\sample\wifi-iot\app 找到app目錄 新建gn_practice目錄。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

二、建立目錄樹

  • 應(yīng)用程序模塊: application
  • 驅(qū)動模塊: driver
  • 庫模塊: library

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

三、編寫各模塊源碼

  • ps:每寫完一個文件記得保存。

先是application模塊,建立一個子模塊的c文件和頭文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

子模塊的c文件include對應(yīng)的頭文件。

  • ps: 爆紅只需要點擊黃色小燈泡,添加到includePath即可 不會添加的可以看我的上一篇文章。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

新建一個主程序文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

編寫主程序文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

接下來是driver模塊和library模塊。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

在主程序文件include兩個模塊的頭文件。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

四、編寫各模塊腳本

先編寫application模塊腳本。

  • ps: cflags是編譯參數(shù) 這三種情況在默認(rèn)編譯方式下是不允許的,會引發(fā)編譯錯誤,設(shè)置這三個參數(shù)后,編譯系統(tǒng)會把它們不當(dāng)作錯誤來處理。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

接下來編寫driver和library模塊。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

五、定位組件編譯入口

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

applications\sample\wifi-iot\app\BUILD.gn。

修改三個模塊的編譯。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

六、編譯燒錄運行

設(shè)置:

hb set

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

編譯:

hb build -f

編譯成功。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

燒錄成功。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

運行成功。

【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)【OpenHarmony編譯構(gòu)建系統(tǒng)】介紹新增組件以及組件模塊開發(fā)-開源基礎(chǔ)軟件社區(qū)

想了解更多關(guān)于開源的內(nèi)容,請訪問:

51CTO 開源基礎(chǔ)軟件社區(qū)

https://ost.51cto.com

責(zé)任編輯:jianghua 來源: 51CTO 開源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2013-01-10 13:50:25

Android開發(fā)組件

2023-06-12 15:43:44

鴻蒙智能家居開發(fā)

2022-06-07 10:33:29

Camera組件鴻蒙

2024-07-26 16:39:33

鴻蒙系統(tǒng)開源構(gòu)建系統(tǒng)

2017-07-11 11:02:03

APP模塊化架構(gòu)

2021-02-20 12:34:53

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

2023-03-09 15:15:21

鴻蒙模塊編譯

2009-07-10 18:06:59

JTree Swing

2022-02-14 14:14:02

鴻蒙數(shù)據(jù)可視化JS

2021-12-02 10:05:01

鴻蒙HarmonyOS應(yīng)用

2021-07-27 11:54:51

windows系統(tǒng)OpenHarmony

2022-06-01 22:35:25

滑桿組件鴻蒙

2023-08-24 16:45:16

應(yīng)用開發(fā)父自定義組件

2023-04-26 15:29:35

NAPI模塊鴻蒙

2023-07-28 15:32:26

鴻蒙操作系統(tǒng)

2009-07-17 14:38:51

輕量級Swing組件

2021-06-28 09:38:50

鴻蒙HarmonyOS應(yīng)用

2022-08-17 16:38:46

WLAN接口組件功能

2017-02-13 18:46:38

Android模塊化組件化
點贊
收藏

51CTO技術(shù)棧公眾號