„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie kann ich Memory Mapped Files verwenden, um Daten zwischen Anwendungen in Windows auszutauschen?

Wie kann ich Memory Mapped Files verwenden, um Daten zwischen Anwendungen in Windows auszutauschen?

Veröffentlicht am 05.11.2024
Durchsuche:924

How can I use Memory Mapped Files to share data between applications in Windows?

Speicherfreigabe zwischen Anwendungen: Ein Leitfaden für speicherzugeordnete Dateien

Bei der Arbeit mit mehreren Anwendungen auf einem Windows-System ist dies häufig erforderlich um Daten zwischen ihnen auszutauschen. Ein gängiger Ansatz hierzu ist die Speicherzuordnung, die es verschiedenen Prozessen ermöglicht, auf gemeinsam genutzte Speicherbereiche zuzugreifen.

Speicherzuordnungsdateien implementieren

Um die Speicherzuordnung zwischen zwei Anwendungen zu implementieren, Sie können Memory Mapped Files (MMF) verwenden. MMF ist ein gemeinsam genutztes Speicherobjekt, das sich im physischen Speicher des Systems befindet und auf das mehrere Prozesse zugreifen können. So verwenden Sie es:

Erstellen Sie eine speicherzugeordnete Datei:

  • Verwenden Sie in C die Funktion CreateFileMapping(), um eine neue MMF zu erstellen. Geben Sie die Anfangsgröße der Datei und die gewünschten Zugriffsberechtigungen an.
  • Verwenden Sie in C# die Methode MemoryMappedFile.Create(), um das gleiche Ergebnis zu erzielen. Hier können Sie den Namen des MMF sowie dessen Größe und Zugriffsberechtigungen angeben.

Speicherzuordnungsdatei zuordnen:

  • Verwendung die MapViewOfFile()-Funktion in C oder die MapViewOfFile()-Methode in C#, um die MMF in den Adressraum Ihres Prozesses abzubilden.
  • Dies gibt einen Zeiger auf den zugeordneten Speicherbereich zurück, der zum Lesen oder verwendet werden kann Daten schreiben.

Daten schreiben und lesen:

  • Die Anwendung, die Daten schreibt, kann mithilfe des von MapViewOfFile erhaltenen Zeigers direkt auf den gemeinsam genutzten Speicherbereich zugreifen ().
  • Die andere Anwendung kann die geschriebenen Daten lesen, indem sie mit ihrem Zeiger auf denselben gemeinsam genutzten Speicherbereich zugreift.

Schließen der speicherzugeordneten Datei:

  • Um den zugeordneten Speicher freizugeben, rufen Sie die Funktion UnmapViewOfFile() in C oder die Methode Dispose() in C# auf.
  • Sobald alle Zuordnungen freigegeben wurden, kann das zugrunde liegende MMF geschlossen werden Verwenden von CloseHandle() in C oder Dispose() in C#.

Fazit

Memory Mapped Files bieten eine effiziente und schnelle Möglichkeit, Daten zwischen Anwendungen auszutauschen Windows. Indem Sie die oben beschriebenen Schritte befolgen, können Sie die Speicherzuordnung problemlos in Ihren C- und C#-Anwendungen implementieren. Weitere Details und Codebeispiele finden Sie im bereitgestellten Artikel.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3