2016-09-16 4 views
1

Эй, я знаю, что люди задавали этот вопрос, прежде чем, по какой-то причине типичный ответ SO не работает для меня. В принципе у меня есть массив байт без знака:Node.js 6 addon converting Buffer.from() to const UInt8 *

var message = Buffer.from([ 
0x27, 0x52, 0x00, 0x8E 
]) 

myAddon.test(message); 

В моем C++ модуля мне нужно получить, что ByteBuffer в сопзИ Uint8 * структуры данных.

Мой код в настоящее время:

#include <node.h> 
using v8::FunctionCallbackInfo; 
using v8::Isolate; 
using v8::Local; 
using v8::Object; 
using v8::Value; 
using v8::Exception; 
void test(const FunctionCallbackInfo<Value>& args) { 
    Isolate* isolate = args.GetIsolate(); 

    if (!args[0] ->IsObject()) { 
    isolate -> ThrowException(Exception::TypeError(
     v8::String::NewFromUtf8(isolate, "All arguments must be string") 
    )); 

    return; 
    } 

    Local<Object> bufferObj = args[0]->ToObject(); 
    const UInt8* d = (const UInt8*)node::Buffer::Data(bufferObj); 

Это только код, который демонстрирует проблему. Теперь происходит то, что Buffer - это то, что я получаю ошибку: ни один член с именем «Буфер» в пространстве имен «node». Поэтому, когда я вижу примеры людей, извлекающих массивы из байт-буферов, я смущаюсь. Есть ли другой файл заголовка или библиотека, которую мне нужно импортировать?

Благодаря

+0

«Так что, когда я вижу примеры людей, добывающих массивы из байт буферов,» Где пример, который работает? – xaxxon

ответ