我有一個字節數組定義爲二進制陣列
unsigned char ptr = new unsigned char[1024];
fillWithSomething(ptr, 1024);
然後,我需要將ptr
變量存儲在V8發動機的Local< Array>
變量或另一種V8數據類型。 目前,我將字節數組轉換爲字符串,以便存儲在Local< String>
變量中,但是這種方法對我的應用程序來說是低效的。
在此先感謝。
地更新(由於維亞切斯拉格羅夫)
I測試與外部陣列的解決方案,但我不能使用它在我的node.js服務器代碼。我有以下代碼(在我延長側C++):
Handle<Object> array = Object::New();
array->SetIndexedPropertiesToExternalArrayData(getBytes(), kExternalUnsignedByteArray, bytesSize);
return array;
我的問題是,我如何使用array
變量在我的服務器代碼(JavaScript)的調用函數GetIndexedPropertiesExternalArrayData()
。
再次感謝
Вячеслав,請你創建最小的例子來說明外部磁盤陣列的使用情況如何?因爲到目前爲止,似乎只有V8的委員會了解如何使用它們。挖掘到d8,沒有適當的背景知識只是痛苦和無用的。 – exebook
@exebook很難創建比上面兩行代碼更簡單的示例。 –
' template class test {};'也是最小的,但不會解釋什麼是模板。我使用嵌入式V8大約一年,我無法理解如何使用上面的最小示例。該函數有一個很長的名字,也許有人可能認爲是自我解釋,但我希望能夠在這些行被執行後從JS訪問這個數組。但是,不,數組在JS方面是空的。也許我期待錯誤的結果。無論哪種方式,它不明確(對我來說)。 –
exebook