以下是一个使用napi编写的简单的Node.js C++模块示例:

#include <node_api.h>

napi_value SayHello(napi_env env, napi_callback_info info) {
  napi_status status;
  napi_value greeting;
  status = napi_create_string_utf8(env, "Hello, world!", NAPI_AUTO_LENGTH, &greeting);
  if (status != napi_ok) return nullptr;
  return greeting;
}

napi_value Init(napi_env env, napi_value exports) {
  napi_status status;
  napi_value fn;

  status = napi_create_function(env, nullptr, 0, SayHello, nullptr, &fn);
  if (status != napi_ok) return nullptr;

  status = napi_set_named_property(env, exports, "sayHello", fn);
  if (status != napi_ok) return nullptr;

  return exports;
}

NAPI_MODULE(NODE_GYP_MODULE_NAME, Init)

这个模块包含一个简单的函数SayHello,它返回一个字符串值。然后,我们定义了一个初始化函数Init,它创建了一个JavaScript函数对象并将其添加到模块的导出对象中。最后,在模块的底部,我们使用NAPI_MODULE宏将模块初始化函数导出为一个Node.js模块

使用napi写一个nodejs的C++模块

原文地址: https://www.cveoy.top/t/topic/fIvt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录