Я использую NAN для включения библиотеки C++ в node.js. Я понимаю, как передавать числа и строки между ними, но я не понимаю, как передавать массивы. То, что я хотел бы сделать что-то вроде этого:Передача массива из node.js в C++ v8 с использованием NAN
index.js
var test = require('bindings')('test');
var buffer = [0,0,0,0,0,0.1,0,0,0,0,-0.1];
test.encode(buffer, buffer.length);
test.cc
var encoder = new Encoder();
NAN_METHOD(Encode){
//the next line is incorrect, I want to take the buffer array and pass it as a pointer to the encodeBuffer() function
Local<Number> buffer = args[0].As<Number>();
//get the integer value of the second argument
Local<Number> buffer_length = args[1].As<Number>();
int bl_int = buffer_length->IntegerValue();
//call function
encoder.encodeBuffer(buffer, bl_int);
}
void Init(Handle<Object> exports) {
exports->Set(NanNew("encode"), NanNew<FunctionTemplate>(Encode)->GetFunction());
}
Фактический метод, который я хотел бы использовать из C++ библиотека объявлена:
void encodeBuffer(float *buffer, size_t l);
Я попытался посмотреть документацию, но они ничего не говорят о указателях и массивах. что-то?
Эй @nevos сделал мой ответ поможет вам? –
Да @JohnSmith, спасибо! – nevos