使用napi写一个nodejs的C++模块
以下是一个使用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模块
原文地址: https://www.cveoy.top/t/topic/fIvt 著作权归作者所有。请勿转载和采集!