Ich portiere Code nach Darwin OS X und als Teil der Änderung gehen wir von gcc zum clang Compiler.
Im Code gibt es eine Funktion aus dem Jahr 2005, die an mehreren Stellen im Internet veröffentlicht wurde. Es bietet Funktionen für mehrere verschiedene alte Versionen von GCC, ich habe alle bis auf die letzte, die es bietet, v3.4.0 oder später bearbeitet. Der Code hängt von zwei GCC-spezifischen Klassen ab: __gnu_cxx::stdio_filebuf
und __gnu_cxx::stdio_sync_filebuf
.
Die Frage ist, wie würde man den Dateideskriptor für ein std::basic_ios
? für clang 5.1 auf OS X Mavericks berechnen?
Wenn es Ihnen nichts ausmacht, Ihre Hände wirklich schmutzig zu machen und in privaten Implementierungsdetails herumzustochern, funktioniert folgender Code:
%Vor%Tags und Links c++ macos iostream file-descriptor porting