gpt4 book ai didi

c++ - 在 Nodejs 插件上使用什么。 Node.h 或 Napi.h

转载 作者:行者123 更新时间:2023-12-05 08:36:06 25 4
gpt4 key购买 nike

我有一些非常简单的问题。

  1. node.h 和 napi.h 的主要区别是什么。
  2. 对于正常/个人用例,我应该使用什么。
  3. 为什么有更多的“nodejs” header 。 (node.h, napi.h, nan.h, node_api.h, ...)

我已经在 Internet 上寻找这些问题的答案,但我能找到任何答案。如果这是必须知道的事情之一,我很抱歉,但我最近开始使用插件。

最佳答案

Node.js 插件有四种不同的接口(interface)

  • 原始 node.h (C++) 根本没有接口(interface)——在这种情况下,你将不得不处理不同的 V8/Node.js 版本——这非常困难和繁琐;
  • 仍在维护的旧 Node.js Nan (C++),它允许您在所有 Node.js 版本中拥有统一的 C++ API - 但它要求您的插件单独构建每个 Node.js 版本不支持 worker_threads;
  • 新的 napi.h (C) 具有跨所有版本的统一 ABI - 这意味着为一个版本构建的二进制模块将适用于所有后续版本;
  • 最新的 Node Addon API (C++),它是一组围绕 napi.h 的 C++ 类,允许您使用具有 C++ 语义的 NAPI。它与 napi.h 完全兼容,您可以混合使用两者。

对于新模块,Node Addon API 是迄今为止最好的选择。

关于c++ - 在 Nodejs 插件上使用什么。 Node.h 或 Napi.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70624027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com