10
¿Cuál es el razonamiento detrás de los tipos que se redefinirán en GLib? ¿Por qué convierten char
en gchar
, int
en gint
, etc.?¿Por qué GLib redefine los tipos?
¿Cuál es el razonamiento detrás de los tipos que se redefinirán en GLib? ¿Por qué convierten char
en gchar
, int
en gint
, etc.?¿Por qué GLib redefine los tipos?
Consulte Basic Types en la documentación de GLib. Básicamente, se trata de garantizar que existan ciertos tipos con cierta semántica, independientemente del compilador de C o de la plataforma que esté utilizando. Los tipos que C garantiza de todos modos son typedef
ed para hacer que todos los nombres de tipo parezcan uniformes.
¿Entonces la razón para convertir el carbón en gchar es hacer que se vea más bonito? – Lucas
En cierto modo, pero principalmente porque int, por ejemplo, puede no ser el mismo en todos los sistemas, gint8 siempre será de 8 bits. – Dave
supongo. Algunos de los gtypes (posiblemente) dan semántica extra sobre un tipo simple, pero creo que el resto es solo por consistencia y portabilidad. También recuerde que GLib data de 1999, anterior a la disponibilidad generalizada de tipos como 'uint64_t', y es por eso que tienen su propio rol. –