electron中调用C++

开源项目:GitHub - akab/electron-cpp: A simple app that demonstrates the use of Electron as Front-End and C ++ DLLs as Back-End

node-addon-api

GitHub - nodejs/node-addon-api: Module for using Node-API from C++

该模块包含 仅标头的 C++ 包装类,可在使用 C++ 时简化 Node.js 提供的基于 C 的 Node-API的使用 。它以较低的开销提供了 C++ 对象模型和异常处理语义。

实现插件有三种选择:Node-API、nan 或直接使用内部 V8、libuv 和 Node.js 库。除非需要直接访问 Node-API 未公开的功能(如Node.js 核心中的C/C++ 插件中所述) ,否则请使用 Node-API。 有关 Node-API 的更多信息,请参阅 带有 Node-API 的 C/C++ 插件。

Node-API 是 Node.js 提供的 ABI 稳定 C 接口,用于构建本机插件。它独立于底层 JavaScript 运行时(例如 V8 或 ChakraCore),并作为 Node.js 本身的一部分进行维护。它的目的是将本机插件与底层 JavaScript 引擎的更改隔离开来,并允许为一个版本编译的模块无需重新编译即可在更高版本的 Node.js 上运行。

node-addon-api模块不是 Node.js 的一部分,保留了 Node-API 的优点,因为它仅包含内联代码,而这些代码仅依赖于 Node-API 提供的稳定 API。因此,使用 node-addon-api 针对某一版本的 Node.js 构建的模块应该可以运行,而无需使用较新版本的 Node.js 重新构建。

重要的是要记住,其他 Node.js 接口(例如 libuv(通过 包含在项目中#include <uv.h>))在 Node.js 主要版本中并不是 ABI 稳定的。因此,插件必须使用 Node-API 和/或node-addon-api 专门针对包含 Node-API 实现(意味着 Node.js 的 LTS 版本)的 Node.js 版本进行构建,以便从 Node 上的 ABI 稳定性中受益.js 主要版本。Node.js 提供了ABI 稳定性指南,其中包含一般 ABI 稳定性的详细说明,特别是 Node-API ABI 稳定性保证。

当新的 API 添加到 Node-API 时,必须更新 node-addon-api 以为这些新 API 提供包装器。因此,node-addon-api 提供了允许调用者获取底层 Node-API 句柄的方法,因此直接调用 Node-API 和使用 node-addon-api 提供的对象/方法可以一起使用。例如,为了能够使用 node-addon-api 尚未提供包装器的 API。

node-addon-api 公开的 API 通常用于创建和操作 JavaScript 值。概念和操作通常映射到ECMA262 语言规范中指定的思想。

Node -API 资源为刚刚开始使用 Node-API 和 node-addon-api 的开发人员提供了极好的指导和技巧

相关推荐
敢敢J的憨憨L16 分钟前
GPTL(General Purpose Timing Library)使用教程
java·服务器·前端·c++·轻量级计时工具库
喝拿铁写前端28 分钟前
Vue 组件通信的两种世界观:`.sync` 与普通 `props` 到底有什么不同?
前端·vue.js·前端框架
美酒没故事°44 分钟前
npm源管理器:nrm
前端·npm·npm源
用户22152044278001 小时前
vue3组件间的通讯方式
前端·vue.js
三十_A1 小时前
【实录】使用 patch-package 修复第三方 npm 包中的 Bug
前端·npm·bug
下位子1 小时前
『AI 编程』用 Claude Code 从零到一开发全栈减脂追踪应用
前端·ai编程·claude
tyro曹仓舒1 小时前
Vue单文件组件到底需不需要写name
前端·vue.js
用户47949283569151 小时前
面试官:讲讲2FA 双因素认证原理
前端·后端·安全
乐影1 小时前
TS 模板字符串类型:从基础到进阶的类型编程魔法
前端·typescript
龙在天1 小时前
CSS 属性值的计算与过程
前端