0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenHarmony C++公共基础类库应用案例:HelloWorld

福州市凌睿智捷电子有限公司 2023-11-23 08:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、程序简介

该程序是基于OpenHarmonyC++公共基础类库的简单案例:HelloWorld。

该应用案例已在OpenHarmony凌蒙派-RK3568开发板(即OpenHarmony-v3.2.1-release)运行正常,详细说明及案例源代码可参考:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/a21_utils_helloworld

2、程序解析

2.1、创建编译引导

在//vendor/lockzhiner/rk3568/ohos.build添加编译模块系统名称。

{ "parts": { "product_rk3568": { "module_list": [ "//vendor/lockzhiner/rk3568/default_app_config:default_app_config", "//vendor/lockzhiner/rk3568/image_conf:custom_image_conf", "//vendor/lockzhiner/rk3568/preinstall-config:preinstall-config", "//vendor/lockzhiner/rk3568/resourceschedule:resourceschedule", "//vendor/lockzhiner/rk3568/etc:product_etc_conf", "//vendor/lockzhiner/rk3568/samples:samples" ] } }, "subsystem": "product_lockzhiner"}

注意:"//vendor/lockzhiner/rk3568/samples:samples"表示将vendor/lockzhiner/rk3568/samples目录添加到编译中。

在//vendor/lockzhiner/rk3568/samples/BUILD.gn文件添加一行编译引导语句。

import("//build/ohos.gni")

group("samples") { deps = [ "a21_utils_helloworld:utilshelloworld", ]}

"//samples/a21_utils_helloworld:utilshelloworld",该行语句表示引入//a21_utils_helloworld 参与编译。

2.2、创建编译项目

创建//samples/a21_utils_helloworld 目录,并添加如下文件:

a21_utils_helloworld├── utils_helloworld_sample.cpp # .cpp源代码├── BUILD.gn # GN文件

2.3、创建BUILD.gn

编辑BUILD.gn文件。

import("//build/ohos.gni")ohos_executable("utils_helloworld") { sources = [ "src/utils_helloworld_sample.cpp" ] # 参与编译的源代码文件 include_dirs = [ "//commonlibrary/c_utils/base:utils", "//third_party/googletest:gtest_main" ] part_name = "product_rk3568" # 模块名称 install_enable = true # 安装到系统中}

注意:

(1)BUILD.gn中所有的TAB键必须转化为空格,否则会报错。如果自己不知道如何规范化,可以:

# 安装gn工具sudo apt-get install ninja-buildsudo apt install generate-ninjas# 规范化BUILD.gngn format BUILD.gn

(2)可执行程序的名称

ohos_executable("utilshelloworld")中的utilshelloworld为可执行程序的名称,必须与//samples/BUILD.gn文件的内容一致。

2.4、创建源代码

utils_helloworld_sample.cpp具体代码如下:

#include

using namespace std;

int main(int argc, char *argv[]){ cout << "Hello, World!" << endl; return 0;}

3、运行程序

系统启动后,运行命令:

utils_helloworld

4、运行结果

运行结果:

# utilshelloworldHello, World!#


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序
    +关注

    关注

    117

    文章

    3836

    浏览量

    84766
  • 开发板
    +关注

    关注

    25

    文章

    6125

    浏览量

    113384
  • OpenHarmony
    +关注

    关注

    31

    文章

    3926

    浏览量

    20723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenHarmony TSC 2025年度技术课题发布(截至10月)

    、学者们揭榜课题、参与分解课题,共同推动开源鸿蒙终端操作系统的技术突破与生态繁荣。详见下表: 挑战方向 挑战课题 挑战方向1:以用户为中心、场景感知的应用软件新形态 面向OpenHarmony平台的C/C++软件
    的头像 发表于 11-05 19:12 1061次阅读

    技能+1!如何在树莓派上使用C++控制GPIO?

    和PiGPIO等C++可用于编程控制树莓派的GPIO引脚。它提供了更好的性能和控制能力,非常适合对速度和精度要求较高的硬件项目。在树莓派社区中,关于“Python
    的头像 发表于 08-06 15:33 3584次阅读
    技能+1!如何在树莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富的和资源而被
    的头像 发表于 07-24 15:32 645次阅读
    <b class='flag-5'>C++</b> 与 Python:树莓派上哪种语言更优?

    OpenHarmony 2025年度技术课题发布

    课题共计6道。热切期待各界的专家、学者们揭榜课题、参与分解课题,共同推动OpenHarmony终端操作系统的技术突破与生态繁荣。详见下表: 挑战方向 挑战课题 挑战方向1:以用户为中心、场景感知的应用软件新形态 面向OpenHarmony平台的
    的头像 发表于 07-23 20:57 587次阅读

    基于LockAI视觉识别模块:C++目标检测

    本文档基于瑞芯微RV1106的LockAI凌智视觉识别模块,通过C++语言做的目标检测实验。本文档展示了如何使用lockzhiner_vision_module::PaddleDet进行目标检测,并通过lockzhiner_vision_module::Visualiz
    的头像 发表于 06-06 13:56 607次阅读
    基于LockAI视觉识别模块:<b class='flag-5'>C++</b>目标检测

    贡献 OpenHarmony 关键配置

    # 贡献 OpenHarmony 关键配置 #自研框架#ArkUI-X#三方框架#OpenHarmony#HarmonyOS ## 创建第三方 - 打开 DevEco Stud
    发表于 05-28 13:46

    C++学到什么程度可以找工作?

    C++学到什么程度可以找工作?要使用C++找到工作,特别是作为软件开发人员或相关职位,通常需要掌握以下几个方面: 1. **语言基础**:你需要对C++的核心概念有扎实的理解,包括但不限于指针、内存
    发表于 03-13 10:19

    基于OpenHarmony标准系统的C++公共基础案例:ThreadPoll

    1、程序简介该程序是基于OpenHarmony标准系统的C++公共基础的线程池处理:ThreadPoll。本案例完成如下工作:创建1个线
    的头像 发表于 02-10 18:09 600次阅读
    基于<b class='flag-5'>OpenHarmony</b>标准系统的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:ThreadPoll

    基于OpenHarmony标准系统的C++公共基础案例:Semaphore

    1、程序简介该程序是基于OpenHarmony标准系统的C++公共基础的线程处理:Sempahore。本案例完成如下工作:(1)无名信号
    的头像 发表于 02-10 18:08 633次阅读
    基于<b class='flag-5'>OpenHarmony</b>标准系统的<b class='flag-5'>C++</b><b class='flag-5'>公共</b>基础<b class='flag-5'>类</b><b class='flag-5'>库</b>案例:Semaphore

    从Delphi、C++ Builder和Lazarus连接到MySQL数据

      从 Delphi、C++ Builder 和 Lazarus 连接到 MySQL 数据 MySQL 数据访问组件(MyDAC)是一个组件,提供从 Delphi 和 C++ Bu
    的头像 发表于 01-20 13:47 1322次阅读
    从Delphi、<b class='flag-5'>C++</b> Builder和Lazarus连接到MySQL数据<b class='flag-5'>库</b>

    从Delphi、C++ Builder和Lazarus连接到Oracle数据

    从 Delphi、C++ Builder 和 Lazarus 连接到 Oracle 数据 Oracle 数据访问组件 (ODAC) 是一个组件,它为 32 位和 64 位平台提供从 Delphi
    的头像 发表于 01-15 10:01 1348次阅读

    Spire.XLS for C++组件说明

    Spire.XLS for C++ 是一款专业的 C++ Excel 组件,可以用在各种 C++ 框架和应用程序中。Spire.XLS for C++ 提供了一个对象模型 Excel
    的头像 发表于 01-14 09:40 1299次阅读
    Spire.XLS for <b class='flag-5'>C++</b>组件说明

    EE-112:模拟C++中的实现

    电子发烧友网站提供《EE-112:模拟C++中的实现.pdf》资料免费下载
    发表于 01-03 15:15 0次下载
    EE-112:模拟<b class='flag-5'>C++</b>中的<b class='flag-5'>类</b>实现

    AKI跨语言调用神助攻C/C++代码迁移至HarmonyOS NEXT

    跨语言调用,成为开发者和厂商面临的重要挑战。为解决这一痛点,一款名为AKI (Alpha Kernel Interacting)的开源三方应运而生,它通过高效封装跨语言调用接口,帮助开发者将C
    发表于 01-02 17:08

    鸿蒙原生开源ViewPool在OpenHarmony社区正式上线

    近日,由伙伴参与共建的鸿蒙原生开源“ViewPool”在OpenHarmony社区正式上线。这个开发是基于OpenHarmony技术孵化的成果,充分发挥了平台的技术特性,同时融入了
    的头像 发表于 12-20 14:44 853次阅读