首页 > 解决方案 > 如何在 JavaScript 中保存指针并进一步检索

问题描述

dll在服务器端使用 a 进行一些计算。我正在使用模块调用dll,所以在中间的某个地方我需要保存地址并进一步使用它,但我不知道如何保存它,以便我可以在一段时间后将它传递给执行操作同一个地址。nodeJSffiC pointerdll

有谁知道如何做到这一点。

标签: cnode.jselectronffiref

解决方案


经过大量搜索并尝试了不同的 2 方案后,我终于找到了一个解决方案,即如何存储地址并在将来检索以进行进一步操作:-

(注意:-这里我使用refffi模块)所以为了存储指针,创建一个可以保存指针类型的缓冲区,如下所示

     const ref = require('ref');        
     const  ffi = require('ffi');

     var buf = ref.alloc('pointer');
     ref.writePointer(buf, 0, pointer);  // pointer or memory address

所以在这里你将内存地址存储在缓冲区中,你可以从缓冲区中检索它,如下所示: -

     memory_pointer = ref.readPointer(buf,0);   // buf is buffer which we created above, 0 for offset 

所以现在你得到了,所以你可以使用模块memory_pointer将它传递给你的函数调用。ffi


推荐阅读