1
node.js 네이티브 추상화를 네이티브 확장으로서 다트로 이식하려고합니다. node.js nan도 v8 네임 스페이스를 사용하고 있습니다.이 네임 스페이스는별로 익숙하지 않습니다.Dart_Handle List를 C++ 배열로 어떻게 변환합니까?
내가 함께하는 데 문제가 있음을 특히 [미완성] 코드 조각이 될 것이다 :
NAN_METHOD(TestFunction) {
NanScope();
String::Utf8Value file(args[0]->ToString());
int i = 0;
Local<Array> argv_ = Local<Array>::Cast(args[1]);
int argc = argv_->Length();
int argl = argc + 1 + 1;
char **argv = new char*[argl];
argv[0] = strdup(*file);
argv[argl-1] = NULL;
for (; i < argc; i++) {
String::Utf8Value arg(argv_->Get(NanNew<Integer>(i))->ToString());
argv[i+1] = strdup(*arg);
문자열과 정수는 매우 간단하지만, 배열에 대한 dart_api.h에 해당하는 기능을하지 않습니다 나는 약간 붙어있어 그래서 존재하는 것 같습니다.
void TestFunction(Dart_NativeArguments args) {
Dart_EnterScope();
uint8_t* file;
intptr_t f_length = 0;
Dart_StringToUTF8(Dart_GetNativeArgument(args, 0), &file, &f_length);
int i = 0;
intptr_t a_length;
Dart_Handle a_list;
Dart_handle a_handle;
a_list = Dart_GetNativeArgument(args, 1);
a_handle = Dart_ListLength(list, &a_length);