Ich möchte eine zugeordnete binäre Datei im Speicher erstellen; Ich bin mir jedoch nicht sicher, wie die Datei erstellt werden soll, die dem System zugeordnet werden soll. Ich lese die Dokumentation mehrmals und stelle fest, dass es zwei gemappte Dateiimplementierungen gibt, eine in Iostream und die andere in Interprozess.Gibt es einen Unterschied zwischen Boost Iostream Mapped File und Boost Interprocess Mapped File?
Haben Sie eine Idee, wie Sie eine gemappte Datei in Shared Memory erstellen können? Ich versuche, einem Multi-threaded-Programm zu ermöglichen, ein Array von großen doppelten in einem binären Dateiformat geschriebenen zu lesen. Worin besteht auch der Unterschied zwischen der abgebildeten Datei in Iostream und Interprocess?
Danke für die Klarstellung Joe, ich werde Iostream ausprobieren. – Yijinsei
@Joe D: Das ist nicht der Eindruck, den ich überhaupt von der Interprozess-Bibliothek bekomme. Insbesondere aus der Dokumentation: "Das System erstellt eine Dateizuordnung, um die Datei und den Adressraum des Prozesses zuzuordnen." Für mehrere Prozesse hat er im Wesentlichen Speicher mit einer Dateisystemsicherung geteilt. – rcollyer
Ja, aber die Interprozessbibliothek erstellt kein Dateisystembackup, sondern ordnet die Datei einfach im Interprozess-Shared Memory zu. Iostreams wird es jedoch in den Speicher für einen einzelnen Prozess abbilden. Welches ist wahrscheinlich (ich habe die Implementierung nicht überprüft) effizienter. –