麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 語言 > JavaScript > 正文

node.js調(diào)用C++開發(fā)的模塊實例

2024-05-06 16:22:36
字體:
供稿:網(wǎng)友

這篇文章主要介紹了node.js調(diào)用C++開發(fā)的模塊實例,在node的程序中,如果有大數(shù)據(jù)量的計算,處理起來比較慢,可以用C++來處理,然后通過回調(diào)(callback的形式),返回給node,需要的朋友可以參考下

如何用C++和node交互,在node的程序中,如果有大數(shù)據(jù)量的計算,處理起來比較慢,可以用C++來處理,然后通過回調(diào)(callback的形式),返回給node。先回顧一下正統(tǒng)的用 C++ 開發(fā) native 模塊的方法

 

 
  1. #include <node.h>  
  2. #include <v8.h>  
  3. using namespace v8;  
  4.  
  5. // 這里是 hello 函數(shù)的 C++ 實現(xiàn)部分  
  6. Handle<Value> Method(const Arguments& args) {  
  7. HandleScope scope;  
  8. return scope.Close(String::New("world"));  
  9. }  
  10.  
  11. // 這里是模塊的初始化函數(shù),必須有  
  12. void init(Handle<Object> exports) {  
  13. exports->Set(String::NewSymbol("hello"),  
  14. FunctionTemplate::New(Method)->GetFunction());  
  15. }  
  16.  
  17. // 這里定義本模塊的名字和初始化函數(shù)  
  18. NODE_MODULE(hello, init) 

這個模塊用Node 寫的話,是這樣的:

 

 
  1. exports.hello = function() {  
  2. return 'world';  
  3. }; 
  4.  
  5.  
  6. 為了編譯 C++ 這個模塊,還需要一個 JSON 格式的 binding.gyp 文件,來定義編譯的細節(jié)。  
  7. {  
  8. "targets": [  
  9. {  
  10. "target_name""hello",  
  11. "sources": [ "hello.cpp" ]  
  12. }  
  13. ]  

執(zhí)行 node-gyp configure build 就直接編譯了。

 

 
  1. node test.js:  
  2. var addon = require('./build/Release/hello');  
  3.  
  4. console.log(addon.hello());  

就輸出結(jié)果。

如此node就可以直接調(diào)用C++編寫的程序。

對上面程序的解釋:在hello.cc 中,我們首先創(chuàng)建了一個函數(shù)Method, 此函數(shù)返回一個"hello,world"的字符串,后面我們又創(chuàng)建了一個init的函數(shù),作為一個初始化函數(shù),我們?nèi)フ{(diào)用了一個函數(shù)

最后面,我們將這個模塊綁定為:NODE_MODULE(hello, init)

在官網(wǎng)中指出,所有的node的插件必須輸出一個初始化的函數(shù),也就是說如下代碼是在每個模塊都必須有的,固定格式。

 

 
  1. void Initialize (Handle<Object> exports);  
  2. NODE_MODULE(module_name, Initialize) 

其中 module_name 必須對應(yīng)上binding.gyp中的 target_name 就可以了。

經(jīng)過了node-gyp configure build 編譯以后會在當(dāng)前文件下生成一個build 的新的文件夾。我們通過在test.js中去引用這個build的結(jié)果,就可以調(diào)用C++的寫的程序了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 日本中文字幕网址 | 免费观看一区 | 中文在线观看视频 | 成人在线视频免费看 | 国产一及毛片 | 91国内精品久久久久免费影院 | 美女在线视频一区二区 | 成人午夜精品久久久久久久蜜臀 | 国产精品久久久久久久久粉嫩 | 久久久久久久.comav | 91久久久久久久一区二区 | 日韩精品久久久久久 | 美女黄网站免费观看 | 国产中文av在线 | 狠狠干91| 久色视频 | 精品国产一区二 | 香蕉国产精品 | 9丨九色丨国产 | 成人偷拍片视频在线观看 | 黄色片网站免费 | 亚洲精品一区中文字幕 | 国产二区三区视频 | 欧美黑人一级 | 午夜视频在线观看91 | 欧美日韩免费一区二区三区 | 最近国产中文字幕 | 亚洲成人精品视频 | 在线视频观看国产 | 深夜福利视频绿巨人视频在线观看 | 国产九九在线视频 | 久久久久久久久久久av | 日韩在线播放第一页 | 免费毛片观看 | 国产成人精品免高潮在线观看 | 高清做爰免费无遮网站挡 | 成人福利在线免费观看 | 日本在线视频一区二区三区 | 日韩不卡一区二区 | 亚洲精品成人久久 | 国产精品aⅴ |