HarmonyOS 鸿蒙Next openVPN3开发语言及swig支持情况

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next openVPN3开发语言及swig支持情况 openVPN3是C++语言开发的,现有的版本是swig脚本根据C++文件生成对应的的Java文件,然后上层通过Java进行调用c++的API。 目前swig还没有支持生成鸿蒙原生语言的功能。

需要怎么操作

2 回复

鸿蒙的IDE是可以直接用C++的代码的,具体操作步骤,参考以下步骤:

  1. 新建Native项目
  • 项目会自动生成src/main/cpp文件夹
  • cpp文件夹下可以放cpp的源文件
  • CMakeLists.txt是用来链接C侧和Arkts侧的
  • napi_init.cpp:自动生成的,里面有模块注册、模块导出等,决定要向ArkTS侧开发哪些接口
  1. src/main/cpp文件下创建myMath文件夹,添加MyMath.cppMyMath.h文件
// MyMath.h
#ifndef TEST006NATIVEORIGINAL_MYMATH_H
#define TEST006NATIVEORIGINAL_MYMATH_H

double Plus(double a, double b);

#endif // TEST006NATIVEORIGINAL_MYMATH_H
// MyMath.cpp
#include "MyMath.h"
double Plus(double a, double b){
    return a+b+40;
}
  1. napi_init.cpp中引用MyMath.h中的方法
// napi_init.cpp
#include "./myMath/MyMath.h"
...
static napi_value Add(napi_env env, napi_callback_info info)
{
...
double resSum = Plus(value1, value0);
...
}
  1. CMakeLists.txt(其他地方不用动)
...
include_directories(${NATIVERENDER_ROOT_PATH}
                    ${NATIVERENDER_ROOT_PATH}/include
                    ./myMath)     # 添加

add_library(entry SHARED napi_init.cpp
                     myMath/MyMath.cpp)    # 添加
...
  1. 运行日志中可以看到“Test NAPI 2 + 3 = 45”

更多关于HarmonyOS 鸿蒙Next openVPN3开发语言及swig支持情况的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next openVPN3开发语言及swig支持情况”,以下是专业且直接的回答:

HarmonyOS 鸿蒙Next在开发语言方面,支持多种编程语言以满足不同开发者的需求。其中,为了促进跨语言开发和调用,鸿蒙系统积极支持使用多种高级编程语言进行应用开发,包括但不限于C++、JavaScript(通过ArkUI框架)以及特定于鸿蒙的方舟编程语言(eTS)。对于系统级开发和底层服务,可能会涉及到使用C或C++进行更高效和底层的操作,但针对应用层开发,上述高级语言更为常见。

至于swig(Simplified Wrapper and Interface Generator)支持情况,HarmonyOS鸿蒙系统本身作为一个操作系统平台,并不直接提供对swig的内置支持。然而,开发者可以通过集成第三方库或自行实现接口封装来达到类似swig的功能,实现不同编程语言之间的互操作。这通常需要在项目构建和依赖管理中进行额外配置。

请注意,具体支持情况可能随着鸿蒙系统版本更新而有所变化。为了获取最准确的信息,建议查阅最新的鸿蒙开发者文档或官方公告。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部