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”

nodejs c++ printf打印hello

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

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