首页  >  文章  >  web前端  >  使用C 为node.js写扩展模块_node.js

使用C 为node.js写扩展模块_node.js

WBOY
WBOY原创
2016-05-16 16:02:451144浏览

前提: 安装好node.js、Python2.7与visual studio 2013。

过程:
首先安装GYP项目生成工具,npm install -g node-gyp 。
建立test目录,这是我们的工作目录,在此目录下再建一个src目录,用来存放C 源代码,另新建一个名为binding.gyp的文本文件,这是gyp的项目文件,内容如下:

复制代码 代码如下:

{
    'targets':[{
        'target_name':'hello',
        'sources':['src/hello.cc']
    }]
}

再写一个简单的hello.cc,内容如下:

#include <node.h>
using namespace v8;

Handle<Value> Hello(const Arguments& args) {
 HandleScope scope;
 return scope.Close(String::New("Hello world!"));
}

void init(Handle<Object> target) {
 NODE_SET_METHOD(target, "hello", Hello);
}

NODE_MODULE(hello, init)

然后运行命令: node-gyp configure
如果正确运行的话,会出现一个目录----build,其下为你生成了vs2013的项目文件,这样就可以在vs2013中进行编辑与编译了。
当然也可以直接用命令 node-gyp build进行编译。

测试js程序如下:

复制代码 代码如下:

var hello = require('./hello');
console.log(hello.hello());

其中遇到了一些问题,记录如下:

1、C:UsersAdministrator.node-gyp

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn