Wenn Sie verwenden möchten , Qt , müssen Sie umarmen quint8, quint16und so weiter.
Wenn Sie verwenden möchten GLib , müssen Sie willkommen guint8, guint16und so weiter.
Auf Linux gibt es u32, s16und so weiter.
uC / OS definiert SINT32, UINT16und so weiter.
Und wenn Sie eine Kombination dieser Dinge verwenden müssen, sollten Sie besser auf Probleme vorbereitet sein. Da auf Ihrem Rechner u32werden typedefd über longund quint32wird typedefd über intund der Compiler wird sich beschweren .
Warum macht das jeder, wenn es das gibt <stdint.h>? Ist das eine Art Tradition für Bibliotheken?
stdint.hwurde erfunden.
sizeof(int) * CHAR_BIT(zum Beispiel) sagen und das benutzen? Wenn Ihr intzu klein ist, um Ihren Bereich darzustellen (z. B. ein Array-Index), sollten Sie ihn mit ziemlicher Sicherheit intsowieso nicht verwenden , sondern so etwas size_t. Warum sollte int32es mehr Sinn machen? Die einzige Zeit, in der eine feste Breite sinnvoll ist, ist für die Kommunikation zwischen Systemen (z. B. Datei- / Netzwerkformat) ...
uint16_t(oder vielleicht seine fastoder eine leastVariante). Mein Punkt ist: Diese Typen sind bequem zu verwenden und haben ihren Existenzgrund.
size_tund / oder uint64_t.