首頁  >  文章  >  php教程  >  使用C++為node.js寫擴充模組

使用C++為node.js寫擴充模組

高洛峰
高洛峰原創
2016-12-26 09:42:491148瀏覽

前提: 安裝好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(&#39;./hello&#39;);
console.log(hello.hello());

其中遇到了一些問題,記錄如下:

1、C:UsersAdministrator.node-gyp

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn