Amomum Amomum - 4 months ago 13
C Question

Why does everybody typedef over standard C types?

If you want to use Qt, you have to embrace

quint8
,
quint16
and so forth.

If you want to use GLib, you have to welcome
guint8
,
guint16
and so forth.

On Linux there are
u32
,
s16
and so forth.

uC/OS defines
SINT32
,
UINT16
and so forth.

And if you have to use some combination of those things, you better be prepared for trouble. Because on your machine
u32
will be
typedef
d over
long
and
quint32
will be
typedef
d over
int
and the compiler will complain.

Why does everybody do this, if there is
<stdint.h>
? Is this some kind of tradition for libraries?

Answer

stdint.h didn't exist back when these libraries were being developed. So each library made its own typedefs.