Diferencias entre las revisiones 8 y 10 (abarca 2 versiones)
Versión 8 con fecha 2007-12-15 15:29:58
Tamaño: 3653
Comentario:
Versión 10 con fecha 2008-12-04 08:48:55
Tamaño: 3721
Editor: anónimo
Comentario: converted to 1.6 markup
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 5: Línea 5:
Dentro de GLib está implementada una serie de tipos de datos que nos hace más fácil, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de nuestros programas. Los tipos que se usan en GLib no son muy diferentes de los que usamos en el estándar de C. Así que realmente no nos resultará nada complicado acostumbrarnos a usarlos.
De momento, vamos a comenzar aprendiendo los tipos de GLib que corresponden con los del estándar de C.
Dentro de la biblioteca GLib está implementada una serie de tipos de datos que facilita, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de los programas. Los tipos que se usan en GLib no son muy diferentes de los utilizados en el estándar de C, por lo cual no resultará complicado familiarizarse con ellos.
A continuación se podrá observar una tabla de correspondencia entre los tipos de GLib contra los de
estándar de C.
Línea 10: Línea 10:
||gchar || char ||
||gint || int ||
||gshort || short ||
||glong || long ||
||gfloat || float ||
||gdouble || double ||
||`gchar` || `char` ||
||`gint` || `int` ||
||`gshort` || `short` ||
||`glong` || `long` ||
||`gfloat` || `float` ||
||`gdouble` || `double` ||
Línea 17: Línea 17:
Como podemos observar en la tabla, estos tipos no son muy diferentes de los que usamos cuando programamos con los tipos del estándar de C, aunque es altamente recomendable poner un poco de esfuerzo para acostumbrarse a estos tipos si se va a trabajar con la plataforma GNOME.
GLib también posee una serie de tipos que nos hacen más sencillo el tratamiento de datos. Algunos tienen su correspondencia en C, pero nos hacen más sencillo su uso; otros nos sirven para mantener el mismo tamaño de datos de una plataforma a otra y, finalmente, hay otros que no tienen correspondencia con el estándar de C, pero que nos resultarán bastante útiles.
Como se ha demostrado en la tabla, los tipos de GLib no difieren en gran medida de los utilizados al programar con los tipos estándar de C, aunque es altamente recomendable la familiarización con estos tipos si se desea trabajar con la plataforma GNOME.
GLib también posee una serie de tipos que hacen más sencillo el tratamiento de datos. Algunos tienen su correspondencia en C, pero facilitan su utilización; otros sirven para mantener el mismo tamaño de datos de una plataforma a otra y, finalmente, hay otros que no tienen correspondencia con el estándar de C, pero que resultarán bastante útiles.
Línea 22: Línea 22:
||gpointer ||<|2> void *|| gpointer es un puntero sin tipo, que luce mejor que escribir void *. ||
||gconstpointer||gconstpointer es un puntero a una constante. Los datos a los que apuntan no deberían ser cambiados. Este tipo suele usarse en los prototipos de funciones para indicar que el valor al que apunta la función no debería ser cambiado en el interior de la función. ||
||guchar||unsigned char||<(|4>Como se puede observar, estos tipos son idénticos a los tipos de C que carecen de signo, pero con la ventaja de que son más visuales y fáciles de usar.||
||guint||unsigned int||
||gushort||unsigned short||
||gulong||unsigned long||
||`gpointer` ||<|2> `void *`|| `gpointer` es un puntero sin tipo, que luce mejor que escribir `void *`. ||
||`gconstpointer`||`gconstpointer` es un puntero a una constante. Los datos a los que apuntan no deberían ser cambiados. Este tipo suele usarse en los prototipos de funciones para indicar que el valor al que apunta la función no debería ser cambiado en el interior de la función. ||
||`guchar`||`unsigned char`||<(|4>Como se puede observar, estos tipos son idénticos a los tipos de C que carecen de signo, pero con la ventaja de que son más visuales y fáciles de usar.||
||`guint`||`unsigned int`||
||`gushort`||`unsigned short`||
||`gulong`||`unsigned long`||
Línea 31: Línea 31:
||gint8||<:>-128 a 127||
||guint8||<:>0 a 255||
||gint16
||<:>-32.768 a 32.767||
||guint16||<:>0 a 65535||
||gint32
||<:>-2.147.483.648 a 2.147.483.647||
||guint32||<:>0 a 4.294.967.295||
||gint64
||<:>-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807||
||guint64||<:>0 a 18.446.744.073.709.551.615||
||`gint8`||<:>-128 a 127||
||`guint8`||<:>0 a 255||
||`gint16`
||<:>-32.768 a 32.767||
||`guint16`||<:>0 a 65535||
||`gint32`
||<:>-2.147.483.648 a 2.147.483.647||
||`guint32`||<:>0 a 4.294.967.295||
||`gint64`
||<:>-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807||
||`guint64`||<:>0 a 18.446.744.073.709.551.615||
Línea 42: Línea 42:
||gboolean||Este tipo es booleano y sólo contendrá los valores TRUE o FALSE.||
||gsize||Es un entero de treinta y dos bits sin signo que sirve para representar tamaños de estructuras de datos.||
||gssize||Es un entero de 32 bits con signo, que sirve para representar tamaños de estructuras de datos.||
||`gboolean`||Este tipo es booleano y sólo contendrá los valores `TRUE` o `FALSE`.||
||`gsize`||Es un entero de treinta y dos bits sin signo que sirve para representar tamaños de estructuras de datos.||
||`gssize`||Es un entero de 32 bits con signo, que sirve para representar tamaños de estructuras de datos.||
Línea 46: Línea 46:
Quizás, nuestro lector más novato haya saltado de su asiento al ver algunos tipos como gint8, gint16, gsize, etc. Para aliviarle esta posible preocupación, es interesante denotar que cuando se programa con GLib, los tipos más usados son los char, int, double, etc., aunque ahora usará los mismos, pero con una "g" delante del tipo. Quizás, la existencia de tipos tales como `gint8`, `gint16`, `gsize`, etcétera, pudiese sugerir mayor complejidad a la hora de aprender a utilizar la biblioteca GLib. Sin embargo es importante denotar que cuando se programa mediante esta biblioteca, los tipos más utilizados son `char`, `int`, `double`, etc., aunque ahora se antepondrá una letra "g" a cada tipo.
Línea 49: Línea 49:
'''''Volver a:''''' [:Documentacion/Desarrollo/Glib:GLib] '''''Volver a:''''' [[Documentacion/Desarrollo/Glib|GLib]]

Tipos de datos de GLib

Dentro de la biblioteca GLib está implementada una serie de tipos de datos que facilita, si cabe, el tratamiento de los datos y además tiene la propiedad de mejorar la portabilidad de los programas. Los tipos que se usan en GLib no son muy diferentes de los utilizados en el estándar de C, por lo cual no resultará complicado familiarizarse con ellos. A continuación se podrá observar una tabla de correspondencia entre los tipos de GLib contra los de estándar de C.

Tabla 6-1.1. Tipos de GLib que corresponden con los del estándar C.

Tipos GLib.

Tipos estándar C.

gchar

char

gint

int

gshort

short

glong

long

gfloat

float

gdouble

double

Como se ha demostrado en la tabla, los tipos de GLib no difieren en gran medida de los utilizados al programar con los tipos estándar de C, aunque es altamente recomendable la familiarización con estos tipos si se desea trabajar con la plataforma GNOME. GLib también posee una serie de tipos que hacen más sencillo el tratamiento de datos. Algunos tienen su correspondencia en C, pero facilitan su utilización; otros sirven para mantener el mismo tamaño de datos de una plataforma a otra y, finalmente, hay otros que no tienen correspondencia con el estándar de C, pero que resultarán bastante útiles.

Tabla 6-1.2. Tipos de GLib que facilitan el uso de tipos del estándar C.

Tipos de GLib

Tipos del C estándar.

Definición

gpointer

void *

gpointer es un puntero sin tipo, que luce mejor que escribir void *.

gconstpointer

gconstpointer es un puntero a una constante. Los datos a los que apuntan no deberían ser cambiados. Este tipo suele usarse en los prototipos de funciones para indicar que el valor al que apunta la función no debería ser cambiado en el interior de la función.

guchar

unsigned char

Como se puede observar, estos tipos son idénticos a los tipos de C que carecen de signo, pero con la ventaja de que son más visuales y fáciles de usar.

guint

unsigned int

gushort

unsigned short

gulong

unsigned long

Tabla 6-1.3. Tipos de GLib que aseguran el tamaño del dato entre plataformas.

Tipo

Rango de tamaño del dato.

gint8

-128 a 127

guint8

0 a 255

gint16

-32.768 a 32.767

guint16

0 a 65535

gint32

-2.147.483.648 a 2.147.483.647

guint32

0 a 4.294.967.295

gint64

-9.223.372.036.854.775.808 a 9.223.372.036.854.775.807

guint64

0 a 18.446.744.073.709.551.615

Tabla 6-1.4. Tipos de GLib nuevos que no están en el estándar de C.

Tipos de GLib

Definición

gboolean

Este tipo es booleano y sólo contendrá los valores TRUE o FALSE.

gsize

Es un entero de treinta y dos bits sin signo que sirve para representar tamaños de estructuras de datos.

gssize

Es un entero de 32 bits con signo, que sirve para representar tamaños de estructuras de datos.

Quizás, la existencia de tipos tales como gint8, gint16, gsize, etcétera, pudiese sugerir mayor complejidad a la hora de aprender a utilizar la biblioteca GLib. Sin embargo es importante denotar que cuando se programa mediante esta biblioteca, los tipos más utilizados son char, int, double, etc., aunque ahora se antepondrá una letra "g" a cada tipo.


Volver a: GLib

Documentacion/Desarrollo/Glib/TiposDeDatosDeGlib (última edición 2008-12-04 08:48:55 efectuada por anónimo)