gpt4 book ai didi

javascript - 使用node-api将数组缓冲区从C转发到JS

转载 作者:行者123 更新时间:2023-11-30 14:41:03 25 4
gpt4 key购买 nike

我目前正在尝试使用 JS 进行一些低级编码。因此,我使用 https://nodejs.org/api/n-api.html 将自定义 C 代码添加到我的 Node.js 运行时。

我在c中传递值并更改它们来工作,甚至读取数组缓冲区并按照我想要在C中的方式解释它们,但我只能返回有限的JS值(数字和字符串,如本部分https://nodejs.org/api/n-api.html#n_api_functions_to_convert_from_c_types_to_n_api所示)

有人知道如何获取 N-API 数组缓冲区吗?我想给我的 JS 一个我在 C 中定义的缓冲区,然后通过 Dataviews 工作。

最佳答案

我找到了答案: https://nodejs.org/api/n-api.html#n_api_napi_create_external_arraybuffer

我正在寻找与“外部”不同的关键字,但这正是我所寻找的:您预先在 C 中定义一个缓冲区,然后创建一个使用该底层缓冲区的 NAPI/JS 数组缓冲区。napi_create_arraybuffer 会清除缓冲区,然后也可以在 C 中对其进行操作,但你不能,例如加载文件然后使用该缓冲区。所以napi_create_external_arraybuffer是可行的方法。

编辑:当我问这个问题时,我正在写我的开源学士论文,所以这就是我最终使用它的方式:https://github.com/ixy-languages/ixy.js/blob/ce1d7130729860245527795e483b249a3d92a0b2/src/module.c#L112

关于javascript - 使用node-api将数组缓冲区从C转发到JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55166885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com