Come accedere C ++ memoria mappata file in java
-
28-09-2019 - |
Domanda
Ho un Windows C ++ un'applicazione che crea una memoria di file mappato per una bitmap che viene aggiornato di frequente. Vorrei accesso a questo file memoria mappata per visualizzare l'immagine dal vivo in un'applicazione Java. Come posso fare?
So che FileChannel può essere mappato a memoria, ma non riesco a vedere come accedere a un file di memoria mappata creato da un altro processo.
Utilizzo già JNA nella mia applicazione java, dovrei usarlo per funzionalità di file mappati di accesso standard di memoria di Windows?
O hai qualche altra soluzione che il file di memoria mappata per visualizzare un flusso di immagini dal vivo in java da un'immagine creata da un programma separato?
Altri suggerimenti
C'è un esempio di codice qui che fa quello che si desidera utilizzare JNI per ponte dal C ++ (memoria Win32 mappata file) per Java. Potrebbe funzionare come è, anche se alcuni di pulizia per la sicurezza e la filettatura potrebbe essere necessario a seconda dello scenario.
Un file di memoria mappata è ancora un file. Si potrebbe leggere con java.io, oppure si potrebbe utilizzare un MappedByteBuffer da java.nio se lo vuoi memory-mapped in Java anche.