gpt4 book ai didi

javascript - nodejs C++ 插件中的访问器

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:57 27 4
gpt4 key购买 nike

如何在 Node.js 的 C++ 扩展中为全局变量“X”使用 setter 和 getter?

我在 getter 和 setter 方法中遇到未定义的“x”。

尝试从此 link静态全局变量 执行访问器 程序.

我已经成功编写了一个微型模块,可以将两个给定数字相加和相乘。

以下是我的代码

Init(入口点)方法包含-

exports->SetAccessor(String::New("x"), XGet, XSet);

除此之外,我还有以下 setter 和 getter。

Handle<Value> XGet(Local<String> property, const AccessorInfo& info){
return Integer::New(x);
}

void XSet(Local<String> property, Local<Value> value, const AccessorInfo& info){
x = value->Int32Value();
}

在编译时它说 - 'x' was not declared in this scope

最佳答案

错误消息 'x' was not declared in this scope 几乎确定了它。您的代码和您正在查看的示例页面明确标题为 Accessing Static Global Variables,所以我认为他们假设您已经定义了这样一个变量 x,您希望通过 JS 访问/改变。

因此,快速修复是在您的 C++ 文件中 XGetXSet 上方的某处添加 int32_t x;

node documentation有一些关于此的信息,如果您想使用对象的实例而不是单个全局变量,标题为 Wrapping C++ objects 的部分可能是您开始的好地方。

关于javascript - nodejs C++ 插件中的访问器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19829073/

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