当前位置: 首页 > 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/196495.html

相关文章:

  • wordpress 仿微信主题湘潭seo优化
  • linux网站建设技术指南 百度网盘网站之家查询
  • 网站建设免费的海口做网站的公司
  • 淄博网站建设优化seo腾讯域名注册官网
  • 做淘客的网站都有哪几个百度推广登录官网
  • 桂林疫情最新消息解封哈尔滨seo推广
  • 北京城乡建设和住房门户网站百度竞价推广登录入口
  • 在线网站制作平台小程序开发平台官网
  • 中山 网站制作大连百度网站排名优化
  • wordpress抓取文章插件网站优化教程
  • 宝安做网站公司网站推广费用
  • 网站怎么吸引用户游戏推广
  • oa系统网站建设方案东莞seo广告宣传
  • wordpress主题透明天津seo数据监控
  • 昆山建设网站网站优化工具
  • 日照网站建设doingseo成都网站建设技术外包
  • 海南营销网站建设网站备案查询官网
  • 在网站做专题seo项目经理
  • 个人网站logo生成南宁网站运营优化平台
  • php开发微信小程序seo网站介绍
  • 青岛做网站多少钱windows优化大师是什么
  • 什么是网络广告策划seo课程培训机构
  • 如何自己创建论坛网站网站建设哪个公司好
  • 现在网站建设的技术百度站长收录提交入口
  • 杭州建设信息网莱芜seo
  • 贵阳网站开发zu97跨境电商哪个平台比较好
  • 半岛建设公司网站什么是百度权重
  • wordpress留言板模板下载seo型网站
  • 做自媒体好还是网站好百度保障中心人工电话
  • web个人网页设计宁波seo优化