首页
前端
后端
分类
归档
标签
应用
收藏
我的学习心得
行动起来,活在当下
累计撰写
223
篇文章
累计创建
60
个标签
累计收到
4
条评论
栏目
首页
前端
后端
分类
归档
标签
应用
收藏
目 录
CONTENT
以下是
NAPI
相关的文章
2022-09-06
NAPI 笔记 11:指定 JS 回调时的线程安全
线程安全函数对象https://github.com/nodejs/node-addon-api/blob/main/doc/threadsafe.mdJavaScript 函数只能在原生模块的主线程上被正常调用,如果原生模块创建了额外的线程,与 Napi 相关的 API 都不能在其他线程中被使用。
2022-09-06
5281
0
0
C/C++
2022-09-01
NAPI 笔记 10:异步 - AsyncWorker
为了与 Node.js 的 事件循环 机制一致,如果原生模块中涉及到耗时操作,它也不应该阻塞事件循环主线程(即执行 JavaScript 代码的线程)的执行。这意味着原生模块需要借助于 libuv 的部分功能实现自己的 异步(Asynchronous),这样就不必等到耗时的原生函数执行完成才返回结果
2022-09-01
3123
0
0
C/C++
2022-08-31
NAPI 笔记 09:C++ 和 JavaScript 之间交互时的异常处理
这里的 异常处理 指的是 node-addon-api 如何在 C++ 与 JavaScript 之间进行异常的交互,可以分为:C++ 中向 JavaScript 抛出一个异常,异常应由 JavaScript 捕获或者继续冒泡C++ 中调用 JavaScript 函数时怎么处理 JavaScript
2022-08-31
2575
0
0
C/C++
2022-08-30
NAPI 笔记 08:函数和函数引用
class FunctionFunction 类可以将在 C++ 中创建的函数对象暴露给 JavaScript,从而在 JavaScript 中执行。通过该类创建的函数并不会自动暴露给 JavaScript,还是需要通过 exports 对象导出。对于来自非 JavaScript 线程、需要使用同步
2022-08-30
1964
0
0
C/C++
2022-08-30
NAPI 笔记 07:PropertyDescriptor
一个Object对象可以调用其DefineProperty()方法或者DefineProperties()方法设置属性。这两个方法都接受PropertyDescriptor对象数组作为参数。class PropertyDescriptorPropertyDescriptor 类有三个重要的静态方法:
2022-08-30
1643
0
0
C/C++
2022-08-30
NAPI 笔记 06:Addon Structure
summaryInstanceWrap 实现了 C++ 对象和 JavaScript 对象的转换,提供了三个方法用于暴露方法和属性给 JavaScript扩展 Addon 类实现自定义 addon,其构造函数的参数为 env 和 exports,内部使用 DefineAddon 导出对象class
2022-08-30
2140
0
1
C/C++
2022-08-30
NAPI 笔记 05:运行环境、调用请求 & 引用计数
class Envhttps://github.com/nodejs/node-addon-api/blob/main/doc/env.md模块运行的 JavaScript 环境,通常由 Node.js 或者 node-addon-api 底层创建并传递给开发者使用。Env实例一般不需要我们手动创建
2022-08-30
1622
0
0
C/C++
2022-08-29
NAPI 笔记 04:Object extends from Value
在 NAPI 中,Object类直接继承自Value类,Array类继承自Object类,这与 JavaScript 一致:数组是一类特殊的对象。class Objecthttps://github.com/nodejs/node-addon-api/blob/main/doc/object.mdO
2022-08-29
1184
0
1
C/C++
2022-08-29
NAPI 笔记 03:Value 和它派生的几个基本数据类型
NAPI 在 C++ 中用Napi::Value来表示 JavaScript 值,它对应 JavaScript 中的unknown类型。Napi::Value的其他子类对应了 JavaScript 的响应类型:Napi::NumberNapi::BooleanNapi::StringNapi::Ob
2022-08-29
2632
0
3
C/C++
2022-08-29
NAPI 笔记 02:在 vscode 中引入 napi.h
node-addon-api 提供了 napi.h 供我们编写 C++ 脚本时引入。通过 nvm 管理的 node 全局安装 node-addon-api,其路径默认为:~/.config/nvm/versions/node/v14.17.4/lib/node_modules/node-addon-
2022-08-29
1653
0
0
C/C++
1
2