使用 DevEco 一键生成 ArkTS 调用 C++ 的胶水代码

使用 DevEco 一键生成 ArkTS 调用 C++ 的胶水代码

为什么需要 ArkTS 调用 C++?

在一些对性能要求较高的场景下,比如:

  • AI 推理等大运算处理
  • 文件处理性能要求高、大文件处理、复杂文件操作
  • 低延时实时通信
    Native 侧比 ArkTS 有更高的效率和更快的响应速度,并且 Native 侧开发提供了更高的灵活性。而 Native 侧特指应用在设备上直接通过 C/C++ 语言编写的底层代码,这些代码可以直接访问控制设备的硬件资源,比如:CPU、内存、网络、设备外设等。

因此在这些场景下,需要 ArkTS 调用 C++ 代码,以充分发挥 Native 侧的强大性能和灵活性。

DevEco IDE 生成 ArkTS 调用 C++ 的胶水代码

ArkTS 在调用 C++ 代码时,需要生成胶水代码。DevEco IDE 提供了一键生成胶水代码的功能,帮助开发者快速生成胶水代码。

创建 Demo 工程

  1. 打开 DevEco IDE,选择 File > New > Create Project。
  2. 在弹出的新建工程界面中,选择 Native C++ 模板,点击 Next。
  3. 配置工程的名称(比如我的项目名 ArkTSCallCPP、路径等信息后,点击 Finish 即可创建工程。

在这里插入图片描述

生成胶水代码

entry > src > main 路径下,可以看到已经创建了 cpp 目录,并生成了胶水代码框架文件 napi_init.cppCMakeLists.txt,只有在 cpp 路径下存在 CMakeLists.txt 的情况下,才能进行下面步骤。

编写 C++ 代码

  1. cpp 目录下创建 MyTime.h,分别编写 C++ 代码,如我创建了 MyTime class 并声明了 now() 方法:
#ifndef ARKTSCALLCPP_MYTIME_H
#define ARKTSCALLCPP_MYTIME_H

#include <string>
#include <ctime>

using namespace std;

class MyTime {
   
   
public:
    explicit MyTime(){
   
   };
    virtual ~MyTime(){
   
   };

    string now() {
   
   
        time(&this->nowTime);
        return string(ctime(&this->nowTime))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值