nodejs中的访问器c ++插件

时间:2013-11-07 06:05:14

标签: javascript c++ node.js

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

我在getter和setter方法中得到了未定义的'x'。

尝试从此link执行Accessors的{​​{1}}计划。

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

以下是我的代码

Init(入口点)方法包含 -

Static Global Variables

以上,我有以下setter和getter。

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

编译时说 - 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(); }

1 个答案:

答案 0 :(得分:1)

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

因此,快速解决方法是在int32_t x;XGet之上的C ++文件中添加XSet

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