0 ответов

Как использовать AsyncContext узла-аддона-API в асинхронном режиме

Документы для AsyncContext есть этот пример (только слегка измененный, но все еще работающий), который работает синхронно: #include "napi.h" void MakeCallbackWithAsyncContext(const Napi::CallbackInfo& info) { Napi::Function callback = info[0].As…
0 ответов

Пример нативного дополнения node.js с использованием N-API

Репозиторий MyNCExtension имеет расширение node.js с использованием примера собственных дополнений C с использованием N-API; Я думал поделиться этим с сообществом. Помимо того, что он помогает другим, он также рассматривается (и исправляется) экспер…
21 фев '19 в 05:46
1 ответ

Как сохранить обратный вызов на потом с помощью node-addon-api?

Я хочу, чтобы моя библиотека C могла вызывать функцию JS несколько раз. Я заставил его работать с использованием Nan, но у меня возникли проблемы с преобразованием его в N-API/node-addon-api. Как сохранить функцию обратного вызова JS и вызвать ее по…
21 янв '19 в 17:40
1 ответ

Как мне вернуть тип BigInt из C++ в javascript, используя N-API?

Я использую этот https://github.com/nodejs/node-addon-api/blob/master/doc/bigint.md документ в качестве ссылки для возврата bigint из C++, но получаю следующую ошибку: error: ‘BigInt’ in namespace ‘Napi’ does not name a type Napi::BigInt HelloWrappe…
26 фев '19 в 05:36
0 ответов

Как отобразить C/C++- перечисления в JavaScript, используя N-API?

Я строю Node-Module с использованием N-API, и в настоящее время я пытаюсь сгенерировать JS-аналог C++ enum,embind кажется, есть встроенный механизм для генерации какого-либо отображения из enums к представлению JavaScript: enum class ElementType { I…
21 янв '19 в 13:59
1 ответ

Дополнение N-API C++, вызывающее блокировку графического интерфейса Electron

У меня есть N-API C++ addon, который я хотел бы использовать с Electron GUI. В настоящее время аддон C++ имеет простую функцию, которая спит в течение 10 секунд, а затем выполняет вычисление 8*2 и возвращает значение в код Javascript. Код Javascript…
09 мар '19 в 01:02
2 ответа

Переслать массивный буфер из C в JS с помощью node-api

В настоящее время я пытаюсь сделать кодирование низкого уровня с JS. По этой причине я использую https://nodejs.org/api/n-api.html чтобы добавить пользовательский код C в мою среду исполнения node.js. Я получаю передаваемые значения и изменяю их в c…
14 мар '19 в 15:53
0 ответов

NAPI_MODULE, вызывающий сбой

Я работаю над собственным модулем C++ в электронике, который ранее использовал методы v8 для регистрации методов. Я конвертировал этот код для использования вызовов N-API. Вот фрагмент кода из этого модуля: static napi_value initialise(napi_env env,…
26 мар '19 в 20:34
1 ответ

Потоковая передача данных в аддон Node.js C++ с N-API

Я строю аддон C++ для NodeJS и хочу асинхронно передавать данные из C++ в Node. Я нашел эту статью, https://nodeaddons.com/streaming-data-into-a-node-js-c-addon/, однако; Я хочу использовать N-API вместо NAN. Я искал документы и примеры NodeJS, а та…
11 апр '19 в 17:03
3 ответа

Как вы можете вызвать обратный вызов эмиттера из отдельного потока C++ в аддоне?

Для контекста я начал с этого вопроса. Мне нужно вызвать обратный вызов для эмиттера в другом потоке. Я сделал минимальный пример, но он emit.Call({cb, result}); Мой первый инстинкт заключается в том, что у меня есть проблемы с продолжительностью жи…
16 апр '19 в 18:21
0 ответов

Как скомпилировать модуль Node.js N-API в wasm?

Я пытаюсь скомпилировать модуль N-API для wasm, но я застрял с этой ошибкой emcc \ --bind \ ${OPTIMIZE} \ -s ALLOW_MEMORY_GROWTH=1 \ -s MODULARIZE=1 \ -s 'EXPORT_NAME="camaro"' \ -I node_modules/node-addon-api \ -I node_modules/node-addon-api/src \ …
04 май '19 в 03:05
0 ответов

Статическое связывание библиотек ffmpeg с собственным дополнением к узлу C++

Я пытаюсь запустить аддон узла, который ссылается на библиотеки без необходимости включать их динамическую библиотеку.dll: Когда я пытаюсь включить их статический архив: расширение.dll.a в Windows, аддон узла возвращает ошибку: $ node index.js --cli…
16 май '19 в 01:48
2 ответа

Как использовать InstanceMethod(), чтобы обернуть метод, возвращающий объект?

Работа над созданием дополнения, которое вернет Object в среду узла. Основываясь на моей работе над введением Атулом Анандом N-API в C++, методы объекта класса обернуты в InstanceMethod() разоблачить их; но эта функция хочет метод, который возвращае…
15 май '19 в 17:44
0 ответов

Как узнать, какой модуль отсутствует с аддоном узла C++

Мне интересно, есть ли способ заставить Node предоставить более полезное сообщение о том, какой модуль мне может не хватать в аддоне узла C++ n-api. Вот ошибка: PS C:\Users\digit\Desktop\workspace\addons\endec> node .\index.js --client internal/m…
29 апр '19 в 21:10
1 ответ

Как мы можем получить доступ к памяти вне приложения Node.js?

Например, предположим, что за пределами Node.js есть какая-то другая программа, которая хочет координировать свои действия с приложением Node.js, чтобы предоставить ей прямой доступ к некоторой памяти. На стороне JavaScript, я полагаю, нам понадобит…
13 авг '19 в 07:19
0 ответов

Предварительно построить нативные зависимости аддона (для узла и электрона)

Я пытаюсь использовать собственный аддон ( Node Sentinel File Watcher -aka NSFW-) в приложении узла, а также в электронном приложении. Использование одного и того же нативного аддона с обоими (узел и электрон) не работает, поэтому мне нужно перестро…
04 авг '19 в 01:49
1 ответ

Проблема с моим родным аддоном C++ в Electron в Mac

Я пишу код для загрузки динамической библиотеки C++ от электронов. При попытке в Mac я получаю следующую ошибку: dyld: символ не найден: __ZN15FcDrive2Library13InitDrive2LibEv Ссылка на: Мой файл binding.gyp выглядит так: { "targets":[ { "target_nam…
18 июл '19 в 22:20
2 ответа

Вызов существующей функции JavaScript из аддона C++ Node.js - из другого потока

Может быть, я просто не ищу правильные термины, но я застрял.. Мне нужно вызвать функцию JavaScript из C++, очень похоже на то, что можно сделать с помощью простого C API. Примечание: я не хочу передавать обратный вызов в код C++, но я уже знаю имя …
07 авг '19 в 17:11
1 ответ

Вызов функции JS несколько раз из разных методов добавления узлов

Я пытаюсь инициализировать мой аддон модуля узла, используя обратный вызов JS для регистрации. Метод Initialize предназначен для хранения значения обратного вызова для вызова из других методов. Поэтому я добавляю ссылку на обратный вызов, используя …
04 июл '19 в 15:43
2 ответа

Как разрешить Node.js Promise в N-Api Addon C

Моя основная проблема - вызвать асинхронную функцию из Node.js в аддоне и получить возвращаемое значение. Я пытаюсь выполнить обещание, возвращаемое вызываемой функцией JS. index.js const addon = require('./build/Debug/addon.node'); async function a…
06 авг '20 в 13:16