资讯动态

鸿蒙 PC 底层开发技术详解(一):编译运行第一个 C/C++ 程序

发布时间:2026/10/24 1:56:52 来源:尧图企业网站定制
本系列文章将深入探讨鸿蒙 PC 在文件系统、应用沙箱以及代码签名等层面的底层技术细节。在讨论技术细节之前我们需要先掌握这项最基础的技能如何在鸿蒙 PC 本地环境下编译并运行一个简单的 C/C 程序。这是后续所有实验的“入场券”也是熟悉鸿蒙 PC 独特运行机制的第一步。1. 准备工作获取 ohos-sdk在鸿蒙生态中ohos-sdk(OpenHarmony SDK) 是所有底层开发的基石。它包含了定制化的 LLVM 编译器、sysroot 以及必要的签名工具。建议将 SDK 安装在用户家目录下/storage/Users/currentUser。请打开HiShell执行以下命令# 1. 从 OpenHarmony 官方 Release 链接下载 ohos-sdkcurl-fL-oohos-sdk.tar.gz https://repo.huaweicloud.com/openharmony/os/7.0-Release/ohos-sdk-windows_linux-public_20260829.tar.gz# 2. 解压tar-zxfohos-sdk.tar.gz-C~/ ohos-sdk# 3. 解压核心的 native 和 toolchains 软件包cd~/ohos-sdk/ohosunzip-uqnative-*.zipunzip-uqtoolchains-*.zipcd-# 4. 将编译器与签名工具路径加入 PATH 环境变量exportPATH~/ohos-sdk/ohos/native/llvm/bin:~/ohos-sdk/ohos/toolchains/lib:$PATH2. 编写与编译程序创建一个简单的测试程序my_program.c#includestdio.hintmain(){printf(Hello, HongMeng PC!\n);return0;}使用 SDK 中的clang进行编译clang my_program.c-omy_program3. 核心步骤代码签名如果你此时直接执行./my_program系统会报错zsh: ./my_program: permission denied这是因为鸿蒙 PC 会强制校验二进制文件的代码签名。未经签名的 ELF 文件会被系统拦截。我们需要使用 SDK 里的binary-sign-tool进行签名binary-sign-tool sign-selfSign1-inFilemy_program-outFilemy_program4. 运行验证签名完成后程序即可成功运行./my_program# 输出Hello, HongMeng PC!

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑