Heim > Artikel > Backend-Entwicklung > Warum erhalte ich Kompilierungsfehler, wenn ich „%u64“ in Printf verwende?
Verstehen von „%u64“ in „Printf“ und Beheben von Kompilierungsproblemen
Beim Versuch, eine 64-Bit-Ganzzahl ohne Vorzeichen mit „printf“ zu drucken " Mit dem Formatbezeichner „%u64“ treten bei einigen Benutzern Kompilierungsfehler auf. Dieser Fehler ist auf die Tatsache zurückzuführen, dass diese Formatspezifizierer nicht standardmäßig in der Standard-C-Bibliothek definiert sind.
Um dieses Problem zu beheben, ist es notwendig, diese Formatspezifizierer explizit zu aktivieren, indem vor dem Einbinden das Makro „__STDC_FORMAT_MACROS“ definiert wird der „inttypes.h“-Header. Hier ist ein Beispiel dafür:
#define __STDC_FORMAT_MACROS #include <inttypes.h> // Rest of your code... printf("test uint64_t : %" PRIu64 "\n", ui64);
Nachdem Sie diese Zeile am Anfang Ihres Codes hinzugefügt haben, erkennt der Compiler den Formatbezeichner „%u64“ und generiert den richtigen Code zum Drucken des 64- Bit vorzeichenlose Ganzzahl ohne Fehler. Dies liegt daran, dass das Makro „__STDC_FORMAT_MACROS“ dafür sorgt, dass die Formatmakros, einschließlich „%u64“, in der C-Standardbibliothek enthalten sind.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich Kompilierungsfehler, wenn ich „%u64“ in Printf verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!