Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linker.js: accedere a librerie C, C++, Rust e Go con NodeJS

Linker.js è una soluzioni rilasciata sotto licenza Open Source che permette di accedere a librerie C, C++, Rust e Go con NodeJS
Linker.js: accedere a librerie C, C++, Rust e Go con NodeJS
Linker.js è una soluzioni rilasciata sotto licenza Open Source che permette di accedere a librerie C, C++, Rust e Go con NodeJS
Link copiato negli appunti

Linker.js è una libreria dinamica che consente di accedere a librerie C, C++, Rust e Go con NodeJS. In futuro dovrebbe essere implementato anche il supporto per altri linguaggi e framework tra cui ad esempio Java e Rails. Disponibile sotto licenza Open Source attraverso un repository su GitHub, attualmente il progetto è compatibile unicamente con sistemi operativi Linux, presenta un'API minimale ed è in grado di raccogliere automaticamente i buffer di memoria.

Linker.js: cos'è e come funziona

Si tratta di una libreria sviluppata a partire da Node-API, libffi e le librerie C-API di Python. Tecnicamente è parte del progetto concurrent.js, una soluzione per l'importazione dinamica dei moduli sviluppata per svolgere una funzione simile a quella di require e import. A differenza di questi ultimi essa infatti non carica un modulo nel main thread ma nel thread di background.

Linker.js: installazione e utilizzo

L'installazione è molto semplice e sfrutta apt ed npm:

sudo apt -y install build-essential cmake
npm i -D cmake-js
npm i @bitair/linker.js

Una volta installata la libreria entra in gioco un apposito Linker che mette a disposizione l'interfaccia per l'accesso alle librerie. Per installarlo, nel caso di C è sufficiente lanciare le istruzioni:

sudo apt -y install libffi-dev
npx linker.js install c_linker

Nello stesso modo si possono inviare i seguenti comandi nel caso in cui si abbia la necessità di un Linker per Python:

sudo apt -y install python3-dev
npx linker.js install py_linker

Indicazioni per l'uso di Linker.js

Prima di utilizzare Linker.js, il cui codice è disponibile su questa pagina, è bene tenere presente che stringhe, booleani e numeri vengono condivisi come valori tra JavaScript e una funzione esterna. Una stringa restituita da una funzione C deve essere allocata dinamicamente. La memoria allocata verrà poi liberata automaticamente una volta che la stringa è stata passata a JavaScript.

Ti consigliamo anche