常见的数据类型的转换基本比较容易,结合nan应该不是一件难事 参考链接: http:///nodejs/2012/10/09/c_addon_in_nodejs_object.html
这里主要说一下Buffer类型的转换: Buffer是nodejs里面的类型,但是c++里面是没有的,那么怎么实现它们之间的转换呢? 1、c++ -> nodejs c++里面没有专门的buffer类型,但是有类似的char *[],所以我们可以把它当场buffer,那么怎么把它转换成Nodejs的Buffer呢 用Nan::NewBuffer就可以实现: Nan::NewBuffer(char* data, uint32_t size)
另外nan还提供了其它参数和buffer的工具方法,请移步: https://github.com/nodejs/nan/blob/master/doc/buffers.md#api_nan_new_buffer
2、nodejs -> c++ node的buffer模块提供了一些方法来做这件事 你需要引入node_buffer.h头文件,但是便利的是nan.h其实都帮我们引入了这些必要的头文件,所以你只需引入nan.h就可以了 通过如下代码你就可以获取到bufferData和长度: Local<Object> bufferObj = args[0]->ToObject(); char* bufferData = node::Buffer::Data(bufferObj); size_t bufferLength = node::Buffer::Length(bufferObj); 参考链接: |
|
来自: QomoIT > 《Native addon》