鸿蒙OpenHarmony Native API【支持的标准库+Node_API】

Native API中支持的标准库

简介

表1 OpenHarmony支持的标准库

名称简介
标准C库[libc、libm、libdl]组合实现C11标准C库。
标准C++库[libc++]是C++标准库的一种实现。
OpenSL ES[OpenSL ES]是一个嵌入式跨平台的音频处理库。
zlib[Zlib]是基于C/C++语言实现的一个通用的数据压缩库。
EGL[EGL]是渲染API与底层原生窗口系统之间的一种标准的软件接口。
OpenGL ES[OpenGL ES]是一个嵌入式跨平台的为 3D 图形处理硬件指定标准的软件接口。

标准C库

[libc、libm、libdl]组合实现C11标准C库。

libc:包含线程相关接口,以及大部分标准接口。

libm:数学库函数接口。

libdl:dlopen等动态链接器接口。

版本

1.2.0

支持的能力

C标准函数库是在C语言程序设计中,所有符合标准的头文件的集合,以及常用的函数库实现程序(如I/O输入输出和字符串控制)。

musl

[native api中没有导出的符号列表]

标准C++库

[libc++]是C++标准库的一种实现。

版本

10.0.1

支持的能力

C++11、C++14标准已完全支持,C++17和C++20标准正在完善。

OpenSL ES

[OpenSL ES]是一个嵌入式跨平台的音频处理库。

zlib

[Zlib]是基于C/C++语言实现的一个通用的数据压缩库。

EGL

EGL 是Khronos渲染API (如OpenGL ES 或 OpenVG) 与底层原生窗口系统之间的接口。OpenHarmony 现已支持 EGL。

标准库中导出的符号列表

[native api中导出的EGL符号列表]

OpenGL ES

OpenGL 是一种跨平台的图形 API,用于为 3D 图形处理硬件指定标准的软件接口。[OpenGL ES] 是 OpenGL 规范的一种形式,适用于嵌入式设备。OpenHarmony 现已支持 OpenGL ES 3.0。

支持的能力

OpenGL ES 3.0

标准库中导出的符号列表

[native api中导出的OpenGL ES 3.0符号列表]

Node_API

简介

Node-API是用于封装JavaScript能力为native插件的API,独立于底层JavaScript,并作为Node.js的一部分。

支持的能力

Node-API可以去除底层的JavaScript引擎的差异,提供一套稳定的接口。

NAPI组件对Node-API的接口进行了重新实现,底层对接了ArkJs等引擎。当前支持Node-API标准库中的部分接口。

NAPI组件扩展的符号列表

符号类型符号名备注
FUNCnapi_run_script_path运行JavaScript文件

标准库中导出的符号列表

符号类型符号名备注
FUNCnapi_module_register
FUNCnapi_get_last_error_info
FUNCnapi_throw
FUNCnapi_throw_error
FUNCnapi_throw_type_error
FUNCnapi_throw_range_error
FUNCnapi_is_error
FUNCnapi_create_error
FUNCnapi_create_type_error
FUNCnapi_create_range_error
FUNCnapi_get_and_clear_last_exception
FUNCnapi_is_exception_pending
FUNCnapi_fatal_error
FUNCnapi_open_handle_scope
FUNCnapi_close_handle_scope
FUNCnapi_open_escapable_handle_scope
FUNCnapi_close_escapable_handle_scope
FUNCnapi_escape_handle
FUNCnapi_create_reference
FUNCnapi_delete_reference
FUNCnapi_reference_ref
FUNCnapi_reference_unref
FUNCnapi_get_reference_value
FUNCnapi_create_array
FUNCnapi_create_array_with_length
FUNCnapi_create_arraybuffer
FUNCnapi_create_external
FUNCnapi_create_external_arraybuffer
FUNCnapi_create_object
FUNCnapi_create_symbol
FUNCnapi_create_typedarray
FUNCnapi_create_dataview
FUNCnapi_create_int32
FUNCnapi_create_uint32
FUNCnapi_create_int64
FUNCnapi_create_double
FUNCnapi_create_string_latin1
FUNCnapi_create_string_utf8
FUNCnapi_get_array_length
FUNCnapi_get_arraybuffer_info
FUNCnapi_get_prototype
FUNCnapi_get_typedarray_info
FUNCnapi_get_dataview_info
FUNCnapi_get_value_bool
FUNCnapi_get_value_double
FUNCnapi_get_value_external
FUNCnapi_get_value_int32
FUNCnapi_get_value_int64
FUNCnapi_get_value_string_latin1
FUNCnapi_get_value_string_utf8
FUNCnapi_get_value_uint32
FUNCnapi_get_boolean
FUNCnapi_get_global
FUNCnapi_get_null
FUNCnapi_get_undefined
FUNCnapi_coerce_to_bool
FUNCnapi_coerce_to_number
FUNCnapi_coerce_to_object
FUNCnapi_coerce_to_string
FUNCnapi_typeof
FUNCnapi_instanceof
FUNCnapi_is_array
FUNCnapi_is_arraybuffer
FUNCnapi_is_typedarray
FUNCnapi_is_dataview
FUNCnapi_is_date
FUNCnapi_strict_equals
FUNCnapi_get_property_names
FUNCnapi_set_property
FUNCnapi_get_property
FUNCnapi_has_property
FUNCnapi_delete_property
FUNCnapi_has_own_property
FUNCnapi_set_named_property
FUNCnapi_get_named_property
FUNCnapi_has_named_property
FUNCnapi_set_element
FUNCnapi_get_element
FUNCnapi_has_element
FUNCnapi_delete_element
FUNCnapi_define_properties
FUNCnapi_call_function
FUNCnapi_create_function
FUNCnapi_get_cb_info
FUNCnapi_get_new_target
FUNCnapi_new_instance
FUNCnapi_define_class
FUNCnapi_wrap
FUNCnapi_unwrap
FUNCnapi_remove_wrap
FUNCnapi_create_async_work
FUNCnapi_delete_async_work
FUNCnapi_queue_async_work
FUNCnapi_cancel_async_work
FUNCnapi_get_node_version
FUNCnapi_get_version
FUNCnapi_create_promise
FUNCnapi_resolve_deferred
FUNCnapi_reject_deferred
FUNCnapi_is_promise
FUNCnapi_run_script
FUNCnapi_get_uv_event_loop
以上就是本篇文章所带来的鸿蒙开发中一小部分技术讲解;想要学习完整的鸿蒙全栈技术。可以在结尾找我可全部拿到!
下面是鸿蒙的完整学习路线,展示如下:
1

除此之外,根据这个学习鸿蒙全栈学习路线,也附带一整套完整的学习【文档+视频】,内容包含如下

内容包含了:(ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、鸿蒙南向开发、鸿蒙项目实战)等技术知识点。帮助大家在学习鸿蒙路上快速成长!

鸿蒙【北向应用开发+南向系统层开发】文档

鸿蒙【基础+实战项目】视频

鸿蒙面经

在这里插入图片描述

为了避免大家在学习过程中产生更多的时间成本,对比我把以上内容全部放在了↓↓↓想要的可以自拿喔!谢谢大家观看!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383606.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VMare centos 7 设置固定ip

第一步获取网关 查看虚拟机的网关-》编辑-》虚拟网络编辑器 NAT模式-》NAT设置 获取网关IP 192.168.70.2 第二步获取主机dns1 在本地主机获取dns1,本地主机调出cmd输入ipconfig dns1为192.168.31.1 用管理员权限的账号进入需要设置固定ip的虚拟机,在t…

零基础学习Python(四)

1. __getitem__、__setitem__、__iter__、__next__魔法方法 __index__方法是对象被作为索引访问时调用的魔法方法,那么当对象要进行索引访问时,调用什么魔法方法呢?答案是__getitem__魔法方法。 class C:def __getitem__(self, index):prin…

vscode回退不显示了,不方便操作

一、后退前进按钮 顶部显示&#xff0c;方便调试 <—— ——> 文件-> 首选项 -> 设置->commandcenter->勾选 Window: Title Bar Style->custom 将native —>custom

MongoDB教程(二十二):MongoDB固定集合

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; 文章目录 引言一、固定集…

单片机学习历程

学习单片机的过程可以分为几个主要阶段&#xff0c;每个阶段都涉及不同的学习内容和技能提升。下面我将以一个典型的学习历程为例进行介绍&#xff1a; 初学阶段 1.入门理论学习&#xff1a; 开始接触单片机的基础知识&#xff0c;学习其工作原理、体系结构和常见的芯片类型…

昇思25天学习打卡营第20天|CV-ResNet50图像分类

打卡 目录 打卡 图像分类 ResNet网络介绍 数据集准备与加载 可视化部分数据集 残差网络构建 Building Block 结构 代码实现 Bottleneck结构 代码实现 构建ResNet50网络 代码定义 模型训练与评估 可视化模型预测 重点&#xff1a;通过网络层数加深&#xff0c;感知…

vue3前端开发-小兔鲜项目-路由拦截器增加token的携带

vue3前端开发-小兔鲜项目-路由拦截器增加token的携带&#xff01;实际开发中&#xff0c;很多业务接口的请求&#xff0c;都要求必须是登录状态&#xff01;为此&#xff0c;这个token信息就会频繁的被加入到了请求头部信息中。request请求头内既然需要频繁的携带这个token.我们…

STM32烧录的时候报错:Error :Flash Download failed -“Cortex-M3“

点击图中标号1&#xff0c;按顺序点击进入设置 按图中标序&#xff0c;进入添加页面 添加图中所选&#xff0c;然后一直确定退出即可&#xff0c;若没有图中所示选项&#xff0c;可能软件没下载对&#xff0c;文章已附带 添加后&#xff0c;即可烧录成功。

《JavaEE篇》--多线程(2)

《JavaEE篇》--多线程(1) 线程安全 线程不安全 我们先来观察一个线程不安全的案例&#xff1a; public class Demo {private static int count 0;public static void main(String[] args) throws InterruptedException {Thread t1 new Thread(() -> {//让count自增5W次…

【Android】碎片—动态添加、创建Fragment生命周期、通信

简单用法 在一个活动中添加两个碎片&#xff0c;并让这两个碎片平分活动空间 先新建一个左侧碎片布局和一个右侧碎片布局 左侧碎片 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/…

场外期权如何报价?名义本金是什么?

今天带你了解场外期权如何报价&#xff1f;名义本金是什么&#xff1f;投资者首先需要挑选自己想要进行期权交易的沪深上市公司股票。选出股票后&#xff0c;需要将股票信息、预期的操作时间&#xff08;如期限&#xff09;、看涨或看跌的选择以及预计的交易金额等信息报给场外…

java-selenium 截取界面验证码图片并对图片文本进行识别

参考链接 1、需要下载Tesseract工具并配置环境变量&#xff0c;步骤如下 Tesseract-OCR 下载安装和使用_tesseract-ocr下载-CSDN博客 2、需要在IDEA中导入tess4j 包&#xff1b;在pom.xml文件中输入如下内容 <!--导入Tesseract 用于识别验证码--><dependency>&l…

跟代码执行流程,读Megatron源码(四)megatron初始化脚本initialize.py之initialize_megatron()分布式环境初始化

在前文中&#xff0c;我们讲述了pretrain函数的执行流程&#xff0c;其首要步骤是megatron分组的初始化与环境的配置。本文将深入initialize_megatron函数源码&#xff0c;剖析其初始化分布式训练环境的内部机制。 注&#xff1a;在此假设读者具备3D并行相关知识 一. initiali…

Linux - 进程的概念、状态、僵尸进程、孤儿进程及进程优先级

目录 进程基本概念 描述进程-PCB task_struct-PCB的一种 task_struct内容分类 查看进程 通过系统目录查看 通过ps命令查看 通过系统调用获取进程的PID和PPID 通过系统调用创建进程- fork初始 fork函数创建子进程 使用if进行分流 Linux进程状态 运行状态-R 浅度睡眠状态-S…

AV1技术学习:Constrained Directional Enhancement Filter

CDEF允许编解码器沿某些(可能是倾斜的)方向应用非线性消阶滤波器。它以88为单位进行。如下图所示&#xff0c;通过旋转和反射所示的三个模板来定义八个预设方向。 Templates of preset directions and their associated directions. The templates correspond to directions of…

Python小工具之httpstat网络分析

一、简介 Python httpstat是一个基于Python的命令行工具&#xff0c;用于测量HTTP请求的性能和状态信息。它能够向目标服务器发送HTTP请求&#xff0c;并显示详细的统计信息&#xff0c;包括DNS解析时间、建立连接时间、TLS/SSL握手时间、首字节时间、总时间等。这些信息对于排…

Mailspring搭建安装教程:打造个性邮件体验

Mailspring搭建安装教程步骤&#xff01;如何选择电子邮件服务商&#xff1f; Mailspring作为一款功能强大、界面友好的邮件客户端&#xff0c;成为了许多用户的首选。AokSend将为大家提供详细的Mailspring搭建安装教程&#xff0c;帮助您打造个性化的邮件体验。 Mailspring搭…

若依 ruoyi poi Excel合并行的导入

本文仅针对文字相关的合并做了处理 &#xff0c;图片合并及保存需要另做处理&#xff01;&#xff01; 目标&#xff1a;Excel合并行内容的导入 结果&#xff1a; 1. ExcelUtil.java 类&#xff0c;新增方法&#xff1a;判断是否是合并行 /*** 新增 合并行相关代码&#xff1a;…

Java | Leetcode Java题解之第264题丑数II

题目&#xff1a; 题解&#xff1a; class Solution {public int nthUglyNumber(int n) {int[] dp new int[n 1];dp[1] 1;int p2 1, p3 1, p5 1;for (int i 2; i < n; i) {int num2 dp[p2] * 2, num3 dp[p3] * 3, num5 dp[p5] * 5;dp[i] Math.min(Math.min(num2…

Docker-Compose配置zookeeper+KaFka+CMAK简单集群

1. 本地DNS解析管理 # 编辑hosts文件 sudo nano /etc/hosts # 添加以下三个主机IP 192.168.186.77 zoo1 k1 192.168.186.18 zoo2 k2 192.168.186.216 zoo3 k3注&#xff1a;zoo1是192.168.186.77的别名&#xff0c;zoo2是192.168.186.18的别名&#xff0c;zoo3是192.168.186.1…