Node.js C++ 模块示例:使用 printf 打印 'Hello World'
以下是一个简单的 Node.js C++ 模块,在其中使用 printf 函数打印'Hello World':
#include <node.h>
#include <stdio.h>
namespace demo {
using v8::FunctionCallbackInfo;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::String;
using v8::Value;
void Method(const FunctionCallbackInfo<Value>& args) {
Isolate* isolate = args.GetIsolate();
printf("Hello World\n");
}
void init(Local<Object> exports) {
NODE_SET_METHOD(exports, "hello", Method);
}
NODE_MODULE(NODE_GYP_MODULE_NAME, init)
} // namespace demo
然后,您可以使用以下 JavaScript 代码加载并调用此模块:
const addon = require('./build/Release/addon');
addon.hello(); // 输出 'Hello World'
请注意,这里的 C++ 代码使用了 Node.js 提供的 v8 和 node.h 头文件,以及通过 NODE_SET_METHOD 宏将 C++ 函数公开为可从 JavaScript 中访问的函数。在 init 函数中,我们将 hello 函数添加到传递给模块导出的对象中。
在 JavaScript 中,我们使用 require 函数加载模块,并使用 addon.hello 调用 hello 函数。这将触发 C++ 中的 Method 函数,并在控制台输出'Hello World'。
原文地址: https://www.cveoy.top/t/topic/okyh 著作权归作者所有。请勿转载和采集!