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 的开发人员提供了极好的指导和技巧

相关推荐
shellvon18 分钟前
前端攻防:揭秘 Chrome DevTools 与反调试的博弈
前端·逆向
β添砖java22 分钟前
案例二:登高千古第一绝句
前端·javascript·css
却尘23 分钟前
Server Actions 深度剖析:这就是个披着 React 外衣的 RPC
前端·rpc·next.js
TNTLWT28 分钟前
单例模式(C++)
javascript·c++·单例模式
南雨北斗1 小时前
Vue 3 修饰符(Modifiers)
前端
会豪1 小时前
工业仿真(simulation)--前端(七)--消息栏
前端
Jinuss1 小时前
Vue3源码reactivity响应式篇之computed计算属性
前端·vue3
落日沉溺于海1 小时前
React From表单使用Formik和yup进行校验
开发语言·前端·javascript
知识分享小能手1 小时前
React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
前端·javascript·学习·react.js·架构·前端框架·react
会豪1 小时前
工业仿真(simulation)--前端(五)--标尺,刻度尺
前端