Как сохранить указатель в JavaScript и получить его дальше - PullRequest
0 голосов
/ 11 декабря 2018

Я использую dll на стороне сервера для некоторых вычислений.Я звоню на dll из nodeJS с помощью модуля ffi, поэтому где-то посередине мне нужно сохранить адрес C pointer и использовать его дальше, но я не знаю, как его сохранить, чтобы яможет передать его через некоторое время dll для выполнения операции с тем же адресом.

Кто-нибудь знает, как это сделать.

1 Ответ

0 голосов
/ 13 декабря 2018

После долгих поисков и проб разных сценариев-2, наконец, я нашел решение, как хранить адрес и получать его в будущем для дальнейших операций: -

(Примечание: - здесь я использую ref , ffi modules), поэтому для хранения указателя создайте буфер, который может содержать тип указателя, как показано ниже

     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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...