自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Openharmony 工程模块加载 SO 包

abi架构的so包,放到对应的目录下,放错目录会出现so无法加载的问题。

2023-11-01 14:40:55 470

原创 N-Api&C++ array buffer数据传递预处理

【代码】N-Api&C++ array buffer数据传递预处理。

2023-10-31 09:39:18 862

原创 OpenHarmony Native开发指导

https://blog.csdn.net/hens_hello_mr/category_12485088.htmlhttps://blog.csdn.net/hens_hello_mr/category_12483368.html

2023-10-30 17:51:10 157

原创 线程安全函数(thread safe function)

跨线程数据 data 引用指向的实际地址,不能随着 other 线程结束而被销毁。

2023-10-28 18:28:15 816 1

原创 scope管理N-API对象

N-API 调用时底层 VM 的堆中对象会返回 napi_value 句柄。函数代码运行时,这些句柄对象一直保持活跃;待函数结束时,才会被 GC 回收。N-API 对象的生命周期管理本质上是控制对象什么时机被销毁。主要通过添加作用域和 create reference 方式。

2023-10-28 18:26:13 315

原创 promise实例在C++和JS之间的传递

1、接收 从 JS 侧传来的函数参数。2、调用函数,得到返回值,一个 promise 实例。3、获取 promise 实例的 then、catch 属性方法,并使用相应的函数参数进行调用。调用 handlePromise,传入返回值是 promise 实例的函数。

2023-10-28 18:21:38 221

原创 C++对JS Object的操作

N-API提供一些API来创建JavaScript所有类型值。

2023-10-28 18:18:23 630

原创 对象包装object-wrap

..// 调用napi_create_double方法把 C++类型转换成 napi_value 类型// 返回 napi_value 类型return sum;但是对于一些复杂的数据类型(如我们常用C++的类对象),是不能直接返回一个napi_value数据的。这时我们需要对这些数据进行一系列操作后将其导出,这样JS才能使用导出后的对象。// JS侧对C++侧的类进行实例化// 调用类的实例对象上的操作方法。

2023-10-28 17:52:54 450 1

原创 LibUV介绍

应用在 native 层有个下载任务,在非 JS 线程里,进程执行期间需要将下载进度传到前端( JS 侧),并使用进度数据绘制进度条。

2023-10-28 17:38:44 119

原创 JS调用C++模块中的函数

此API允许从C++侧调用 JavaScript 函数对象,例如本文的napi_call_function(env, global, cb, 0 , nullptr, &result);值得注意的是,本文JS侧传递给C++的回调函数是匿名函数,C++侧先将JS回调函数先在C++侧注册,即使用napi_create_reference将JS函数创建为ref,ref最终会作为napi_call_function的第三个参数,可以放心并没有在global对象里面直接去取函数引用。例如Add方法的代码,

2023-10-28 17:31:02 1714 1

原创 error的用法

C++ 侧 napi_call_function 调用 JS 函数,JS 引擎抛错,napi_get_and_clear_last_exception 用于获取和清除异常。成功时,抛出的结果是 JavaScript Object。接下来三种途径处理异常。C++ 侧使用 napi_create_error 创建 error,napi_throw 把 error 抛给 JS,JS 侧,try、catch 捕获处理。

2023-10-28 17:22:20 201

原创 napi_threadsafe_function 和 napi_async_work对比分析

从用法和官方介绍角度来看,napi_threadsafe_function 和 napi_async_work 似乎是两个完全不相同的两个东西,但从源码分析他们实现的原理,是有很大重合度。以至于使用场景亦有重合的地方。读前须知uv_async_send、uv_async_init、uv_queue_work 具体用法和作用。napi_async_work 系列 API 具体用法和作用。线程安全函数 API 具体用法和作用。

2023-10-28 17:02:38 774

原创 异步任务async work用法

【代码】async work。

2023-10-28 17:00:36 204

原创 三方库迁移至 OpenHarmony 应用

三方库是指其他公司或者组织提供的服务或模块,例如常见的开源 OpenCV、libcurl 库,将三方库迁移至OpenHarmony 上,有助于系统的生态建设。本文首先以三方库为例,分别给出 Windows 和 Linux 开发环境下,curl 移植到 OpenHarmony 上的流程示意。主要涉及三部分内容,分别为编译环境的准备、编译工具的使用以及生成文件的调用。然后以库为例,介绍非camke编译时,如何配置环境变量,并使用make进行编译构建。

2023-10-28 15:41:37 1002

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除