当前位置: 首页 > wzjs >正文

做平面什么网站好用深圳品牌策划公司

做平面什么网站好用,深圳品牌策划公司,有空间与域名后怎么做网站,北京网站建设营销原文链接:https://kashima19960.github.io/2025/03/21/openharmony/2.在Openharmony写hello%20world/ 前言 Openharmony 的第一个官方例程的是教你在Hi3861上编写hello world程序,这个例程相当简单编写 Hello World”程序,而且步骤也很省略&…

原文链接:https://kashima19960.github.io/2025/03/21/openharmony/2.在Openharmony写hello%20world/

前言

Openharmony 的第一个官方例程的是教你在Hi3861上编写hello world程序,这个例程相当简单编写 Hello World”程序,而且步骤也很省略,最重要的是这个例程 ,没有main函数都能运行!!官方所谓的“快速入门”其实是面向有基础的工程师,所以对于很多学识浅薄的学生来说,一看上去肯定会一脸懵逼。在这篇文章中,我会先过一遍例程,Openharmony的启动过程,你就明白main函数哪去了

hello world

Openharmony规定了用户编写自己代码的位置,所以要把代码放在指定目录里面

确定目录结构

applications/sample/wifi-iot/app 新建一个目录,这个目录的名字可以随便取,这里就取为my_first_app,在这个目录创建代码文件,和一个BUILD.gn编译脚本,如果不知道这个编译脚本是什么可以先不用管

在这里插入图片描述

如果还是不太懂就看一下总览的结构

image-20250327102835663

编写配置文件和代码

然后就可以开始编写相应文件的内容了,这里BUILD.gn有两个,一个是在``applications/sample/wifi-iot/app文件夹下,这个是外层的构建脚本,还有一个就是在自己建立的my_first_app`文件夹下,这个是内层的构建脚本。因为GN有自己的语法,所以你不懂的话,就先复制粘贴模仿一下

外层BUILD.gn内容

import("//build/lite/config/component/lite_component.gni")lite_component("app") {features = ["startup",#这个my_first_app就是文件夹的名字,这个hello_world要对应内层BUILD.gn中static_library括号里的内容"my_first_app:hello_world"]
}

内层BUILD.gn内容

static_library("hello_world") {sources = ["hello_world.c"]include_dirs = ["//utils/native/lite/include","//kernel/liteos_m/kal/cmsis","//base/iot_hardware/peripheral/interfaces/kits",]
}

以上的工作做好后,就可以开始写代码了,可以看到这里不需要main函数

#include <stdio.h>
#include "ohos_init.h"
#include "ohos_types.h"void HelloWorld(void)
{printf("[DEMO] Hello world.\n");
}
SYS_RUN(HelloWorld);

编译与烧录

编译方法有两种,一个是用hb工具,另一个用deveco device tool,但其实deveco device tool 也是用hb工具的,只是把编译操作做成一个按钮而已

image-20250327104345947

有提示success就算成功了

在这里插入图片描述

烧录方式也有两种,一个是用Hiburn,另一种是用deveco 的upload,上图有,那个upload就是烧录,之所以叫upload(上传),是因为要先把编译出来的镜像上传到Windows,然后再调用Hiburn烧录,所以这个``upload`底层是用的Hiburn,也是跟编译一样把某个底层工具封装成一个按钮

具体方法请参照官方文档

  • DevEco Device Tool烧录
  • Hiburn烧录

结果

image-20250327115628445

OpenHarmony启动的8个阶段

在系统启动过程中,服务和功能按以下顺序初始化

  • 阶段1. core
  • 阶段2. core system service
  • 阶段3. core system feature
  • 阶段4. system startup
  • 阶段5. system service
  • 阶段6. system feature
  • 阶段7. application-layer service
  • 阶段8. application-layer feature

ohos_init.h定义了8个宏,用于让一个函数以“优先级2”在系统启动过程的以上8个阶段执行。即函数会被标记为入口,在系统启动过程的1-8阶段,以“优先级2”被调用。

在这里插入图片描述

•在系统启动的某个阶段,会有多个函数被调用,优先级决定了调用顺序。

•优先级范围:0-4

•优先级顺序:0, 1, 2, 3, 4

前面代码中用到了SYS_RUN这个宏,就是让你自己写的函数以**“优先级2”在系统启动过程的“阶段4. system startup”阶段执行**。所以现在明白为啥没有main函数,你的代码都能被运行了吧,main函数是已经固化在系统里面了,你只能根据系统提供的特定的接口来把自己编写的功能放到系统里面。如果想要自己的函数在其他阶段运行,可以参照以下表格

宏定义启动阶段
CORE_INIT()阶段1. core
SYS_SERVICE_INIT()阶段2. core system service
SYS_FEATURE_INIT()阶段3. core system feature
SYS_RUN()阶段4. system startup
SYSEX_SERVICE_INIT()阶段5. system service
SYSEX_FEATURE_INIT()阶段6. system feature
APP_SERVICE_INIT()阶段7. application-layer service
APP_FEATURE_INIT()阶段8. application-layer feature
http://www.dtcms.com/wzjs/126186.html

相关文章:

  • 怎么制作个人作品网站站群优化公司
  • 一元夺宝网站建设2017好消息疫情要结束了
  • php做网站视频播放下载功能google搜索免费入口
  • 免费网站域名空间关键字排名优化公司
  • 网站专题模板电商运营公司排名
  • 网站靠什么网站运营课程
  • 网站备案核实单网站排名优化软件哪家好
  • 海外网站搭建企业网站设计
  • 快盘做网站服务器企业网站模板html
  • 网站建设正文字体多大合适南宁seo推广
  • 波哥昆明网站建设百度有哪些app产品
  • 织梦学校网站模板大数据
  • 房产中介网站建设进度成都网站快速优化排名
  • php做动态网站建设百度引流平台
  • 网站添加站长统计代码如何开发一个软件平台
  • 垂直网站建设步骤松原头条新闻今日新闻最新
  • 网站移动适配怎么做今日头条官方正版
  • 哪里有专门做gif的网站seo研究中心官网
  • wordpress当前在线西安seo专员
  • 大型b2b网站有哪些百度seo是什么意思呢
  • 网站建设中的端口会计培训机构
  • 如何创建自己的卡网北京网站优化平台
  • 可以在几个 网站备案网站关键词如何快速上首页
  • 建网站的设备在哪里找软件开发公司
  • 佛山网站建设 合优网上如何做广告
  • 兼职做ppt是哪个网站好百度免费收录提交入口
  • 做网站用虚拟主机好不好百度推广怎么收费的
  • 昆明网站排名优化上海十大公关公司排名
  • 做篮球网站用的背景图片网站seo怎么做
  • 个人如何做网站google商店