Ich habe einen interessanten Fehler bei der Konvertierung einer C++-Anwendung von 32 auf 64 Bit Linux gefunden. Unsere FileStore-Klasse implementiert das Speichern/Wiederherstellen von Strukturen in/aus einer Datei. Sie ruft immer fopen() und fclose() vor und nach jeder Operation auf, außer in einer Methode. In dieser (fehlerhaften) Methode kann sie auf 32-Bit-Plattformen fseek() und fread() ohne Fehler ausführen, obwohl die Datei zuvor durch andere Methoden fclose() geschlossen wurde. Auf 64-Bit-Plattformen stürzt es jedes Mal bei fread() ab. Ich vermute, dass auf der 32-Bit-Plattform die zugrundeliegende FILE-Struktur auch nach fclose() bestehen bleibt, so dass weiterhin auf sie zugegriffen werden kann. Hat jemand weitere Informationen darüber, warum dieser Unterschied und alle anderen Probleme mit 64-Bit-Datei i/o zu tun?
C++ 64-Bit-Dateieingangs- und -ausgangsprobleme
- Gefragt el 4 de Marsch, 2011
- Wann wurde die Frage gestellt
- 996 Ansichten
- Anzahl der Besuche der Frage
- 0 Antworten
- Anzahl der Fragenantworten
- Gelöst
- Aktueller Status der Frage
Verwandte Fragen
- Wie fügt man unter Linux eine Datei an eine andere an, und zwar über die Shell?
- IOException jedes Mal, wenn ich versuche, etwas auf den Android-Emulator hochzuladen
- Ist es möglich, mit makecert ein Zertifikat mit benutzerdefinierter Schlüsselverwendung zu erzeugen?
- Vorteile/Nachteile der 64-Bit-JVM auf einem 64-Bit-Linux-Server?
- Laden einer nativen DLL (32 Bit) in einem prozessinternen wmi-Anbieter (32 Bit) unter einem 64-Bit-Betriebssystem
- XML-RPC: beste Optionen für 64-Bit-Ints?
- Verwendung von Bundle-NativeCode unter Linux funktioniert nicht
- Wie kann ich unter Linux alle Ordner und Dateien in Kleinbuchstaben umbenennen?
- Ist das Kommandozeilenprogramm mktemp unter Linux weniger sicher als die C-Funktion mkstemp?
- Wie kann man ein einzelnes Bit setzen, löschen und umschalten?
- Wie kann ich ein Profil für C++-Code erstellen, der unter Linux läuft?
Empfohlene Fragen
- Ausführen eines Befehls als Administrator mit PowerShell?
- JQuery Mobile Dynamische Liste aus Ajax-Aufruf
- Wie kann ich eine asp.net-Codebehind-Klasse in einem Test-Harness instanziieren?
- Wie man pid von pthread erhält
- perl regex period entspricht Zeichen der Länge Null
- Verhalten beim Einfügen von Vim