Kullanmak isterseniz Qt , sen kucaklamalısın quint8
, quint16
benzeri ve.
GLib'i kullanmak istiyorsanız, hoş geldiniz guint8
, guint16
vb.
On Linux vardır u32
, s16
benzeri ve.
uC / işletim tanımlar SINT32
, UINT16
ve benzeri biçimde.
Ve bunların bazı kombinasyonlarını kullanmak zorunda kalırsanız, belaya hazırlıklı olsanız iyi olur. Üzerinde Çünkü makineniz u32
edilecektir typedef
üzerine d long
ve quint32
olacak typedef
üzerinde d int
ve derleyici şikayet .
Varsa neden herkes bunu yapıyor <stdint.h>
? Bu, kütüphaneler için bir tür gelenek mi?
stdint.h
icat edildi.
sizeof(int) * CHAR_BIT
(örneğin) söyleyip kullanmıyorsunuz? Eğer sizin int
aralığınızı temsil etmek için çok küçükse (örneğin bir dizi indeksi), o zaman neredeyse kesinlikle kullanmamalısınız int
, ama benzeri bir şey size_t
. Neden int32
daha mantıklı? Tek zaman sabit genişlik, sistemler arasındaki iletişim içindir (örn. Dosya / ağ biçimi) ...
uint16_t
(veya belki onun fast
veya least
çeşididir). Demek istediğim şu: Bu türler kullanıma uygundur ve varoluş nedenlerine sahiptir.
size_t
Ve / veya gibi "teknik" tipler uint64_t
.