Supponendo sei il componente di estremità posteriore è sulla stessa macchina è possibile utilizzare uno strato di interfaccia, come descritto da altri
Questi richiedono che il backend C++ sia disponibile in una DLL e di solito forniscono proxy Java per le funzioni C e talvolta c + + lezioni. C'è una curva di apprendimento per tutti questi e alcuni funzionano per abilitare il proxy.
Un altro approccio sarebbe quello di utilizzare un processo C++ e comunicare con questo utilizzando
- riga di comando
- stdin/stdout
Se si desidera supportare la comunicazione attraverso una rete
- prese
- CORBA
- WebServices
- Thrift
Questi hanno anche una curva di apprendimento e alcuni costi istituito
Di questi la linea di comando o stdin/stdout è probabilmente il più rapido per lavorare con il quantità minima di sforzo e conoscenza. Tuttavia non si adatta bene alle interfacce di grandi dimensioni come è necessario codificare l'input e l'output di ciascun messaggio come testo
Per l'approccio da riga di comando si esegue il processo C++ utilizzando le opzioni della riga di comando per le opzioni, i risultati vengono letti dai processi standard out o dal suo codice di uscita.
Per stdin/stdout si avvia il processo in cui ogni richiesta viene inviata a stdin del processo e i risultati vengono letti da stdout.
Si noti che JNA funziona solo per le librerie con un'API C. –