Node.js示例原生扩展

时间:2012-07-10 17:41:01

标签: node.js native

我无法运行最简单类型的Node.js原生扩展,一个Hello World,我不知道为什么。

我在这里使用示例:http://nodejs.org/api/addons.html#addons_hello_world

node-gyp运行得很好,但是当我在节点中尝试require时,我收到错误:

  Error: invalid argument
    at Object..node (module.js:472:11)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Module.require (module.js:354:17)
    at require (module.js:370:17)
    at repl:1:13
    at REPLServer.eval (repl.js:80:21)
    at repl.js:190:20
    at REPLServer.eval (repl.js:87:5)
    at Interface. (repl.js:182:12)

这是什么,以及如何在使用原生扩展时调试这样的错误?

3 个答案:

答案 0 :(得分:1)

显然,在init块中包含extern "C"部分后,该示例现在可以正常工作了。

现在一切都很好。

答案 1 :(得分:1)

此外,如果您有任何机会关注此示例:https://www.cloudkick.com/blog/2010/aug/23/writing-nodejs-native-extensions/

请注意,您提供给NODE_MODULE 的初始化函数不得为static !似乎内省库或Node.js用于注册模块的其他机制,不支持在C中读取静态函数(的名称)。

希望这有助于每个人遇到类似的问题!

答案 2 :(得分:1)

https://github.com/olalonde/node-notify

自述文件中有解释的一切。