Why does GLib redefine types?

c, glib, types

Solution

Check out Basic Types in the GLib documentation. Essentially, it's to guarantee that certain types will exist with certain semantics, regardless of which C compiler or platform you're using. The types that C guarantees anyway are `typedef`ed just to make all of the type names look uniform.

Problem

What is the reasoning behind types to be redefined in GLib? Why do they turn `char` into `gchar`, `int` into `gint`, etc.?

Original source

Related problems