Node.jsとAddon

以下のNode.jsのAddonチュートリアルはとてもわかりやすく、しかも、ほぼC++を利用方法を網羅し説明してある。 本来v8に必要なドキュメントだと思うが、このようなものは現時点ではすぐに探せないか、存在しない。きっとNode.jsを作った人たちが書いたときに苦労したため、現実的にわかりやすく書くことができたのではないか。

http://nodejs.org/api/addons.html
http://code.google.com/p/waf/

以下にAddonパターン
Addon patterns

以下にNODE_MODULE内容をWIN32部分を取り除いて載せておく

#ifndef NODE_STRINGIFY
#define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)
#define NODE_STRINGIFY_HELPER(n) #n
#endif

/**
 * When this version number is changed, node.js will refuse
 * to load older modules.  This should be done whenever
 * an API is broken in the C++ side, including in v8 or
 * other dependencies
 */
#define NODE_MODULE_VERSION (1)

#define NODE_STANDARD_MODULE_STUFF \
          NODE_MODULE_VERSION,     \
          NULL,                    \
          __FILE__

#define NODE_MODULE(modname, regfunc)                                 \
  extern "C" {                                                        \
    node::node_module_struct modname ## _module =  {                  \
      NODE_STANDARD_MODULE_STUFF,                                     \
      regfunc,                                                        \
      NODE_STRINGIFY(modname)                                         \
    };                                                                \
  }

コメント

このブログの人気の投稿

日本でコンピュータサイエンスを学ぶ難しさ

How to preview nif file on the ubuntu.