龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

用C/C++来实现 Node.js 的模块(一)_node.js(3)

时间:2014-09-28 11:00来源:网络整理 作者:网络 点击:
分享到:
并且在里面添加这样的代码: 复制代码 代码如下: { "targets": [ { "target_name": "hello", "sources": [ "hello.cc" ] } ] } 为什么这么写呢?可以参考 node-gyp 的官方文档。

  并且在里面添加这样的代码:

复制代码 代码如下:

{
  "targets": [
    {
      "target_name": "hello",
      "sources": [ "hello.cc" ]
    }
  ]
}

   为什么这么写呢?可以参考 node-gyp 的官方文档。

configure

  在文件搞好之后,我们要在这个目录下面执行这个命令了:

复制代码 代码如下:

$ node-gyp configure

   如果一切正常的话,应该会生成一个 build 的目录,然后里面有相关文件,也许是 M$ Visual Studio 的 vcxproj 文件等,也许是 Makefile ,视平台而定。

build

  Makefile 也生成好之后,我们就开始构造编译了:
$ node-gyp build

   等到一切编译完成,才算是真正的大功告成了!不信你去看看 build/Release 目录,下面是不是有一个 hello.node 文件了?没错,这个就是 C++ 等下要给 Node.js 捡的肥皂!

搞基吧!Node ヽ(✿゚▽゚)ノ C++

  我们在刚才那个目录下新建一个文件 jianfeizao.js:

复制代码 代码如下:

var addon = require("./build/Release/hello");
console.log(addon.hello());

   看到没!看到没!出来了出来了!Node.js 和 C++ 搞基的结果!这个 addon.hello() 就是我们之前在 C++ 代码中写的 Handle<Value> Hello(const Arguments& args) 了,我们现在就已经把它返回的值给输出了。

洗洗睡吧,下节更深入

  时间不早了,今天就写到这里了,至此为止大家都能搞出最基础的 Hello world 的 C++ 扩展了吧。下一次写的应该会更深入一点,至于下一次是什么时候,我也不知道啦其实。
   (喂喂喂,撸主怎么可以这么不负责!(o゚ロ゚)┌┛Σ(ノ´ω`)ノ

精彩图集

赞助商链接