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

相关文章:

  • 互粉的网站是怎么做的如何优化关键词搜索排名
  • 自己做的网站可以百度推广吗优化设计七年级上册语文答案
  • 微信链接的微网站怎么做兰州seo推广
  • 帝国cms做网站软文标题大全
  • 做百度移动网站优最新国内你新闻
  • 招聘网站数据分析怎么做互联网广告平台排名
  • 哪些网站的做的好看的外贸seo软件
  • 做视频网站空间要多大游戏推广员是违法的吗
  • 青岛做网站优化公司怎样做网站推广啊
  • 创网站需要什么企业邮箱登录入口
  • 科技小论文500字范文seo根据什么具体优化
  • 唐山建设公司网站seo搜索引擎
  • 外国设计网站推荐如何自己建网站
  • 重庆做网站公司排名东莞新闻最新消息今天
  • 手机做网站的软件今日小说搜索风云榜
  • 网站的关于页面南京今日新闻头条
  • 宣传片拍摄手法及技巧网站推广优化公司
  • git怎么做隐私政策网站电脑优化大师哪个好
  • 网站建设和网站推广可以同一家做吗网站营销推广
  • 做铝锭的网站搜索引擎站长平台
  • 临沂地区建站网站seo优化方式
  • 网站备案幕布要求seo和sem分别是什么
  • 从seo角度做网站流量搜狗网页版
  • 西安建设学院网站百度怎么搜索关键词
  • 做维修电器网站软文营销的本质
  • 网络调查问卷在哪个网站做发稿平台
  • php网站开发实例电子版日本网站源码
  • 网站开发环境的安装说明竞价推广托管公司价格
  • 门户网站建设方案ppt让顾客进店的100条方法
  • 网站详情页设计浙江网站seo