簡體   English   中英

emscripten 在 C 中讀取 javascript arrayBuffer

[英]emscripten read javascript arrayBuffer in C

這段代碼不正確,但它告訴我我想要做什么

char* p = EM_ASM(
    var a = new ArrayBuffer(8);
    return a;
);

獲取該 javascript arrayBuffer 的 C 指針的正確方法是什么?
我只想讀取 arrayBuffer 而不是寫入

據我所知,沒有直接從某些內聯 JavaScript 返回數組的方法(盡管有一種方法可以從 JavaScript 包裝的 C 函數返回只讀數組,請參閱此答案)。 您可以做的是在 C 函數中為數組分配 malloc 空間,將地址傳遞給內聯 Emscripten,然后使用 Emscripten JavaScript 函數writeArrayToMemory將您的 JavaScript 數組復制到malloc ed 內存中。 像這樣的東西...

char *a = malloc(4);

EM_ASM_INT({
    var v1 = new Uint8Array([2,4,6,8]);

    writeArrayToMemory(v1, $0)
    }, a);

printf("the array is [%d, %d, %d, %d]\n", a[0], a[1], a[2], a[3]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM