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?

È stato utile?

Soluzione 2

ho finalmente utilizzato JNA e piattaforma biblioteca che essi forniscono. Il Kernel32 accesso offerte di pacchetti al CreateFileMapping e MapViewOfFile funzioni.

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top