Diferencias entre las revisiones 1 y 23 (abarca 22 versiones)
Versión 1 con fecha 2007-12-10 16:33:05
Tamaño: 3736
Comentario:
Versión 23 con fecha 2007-12-12 16:10:35
Tamaño: 1618
Comentario: Fin de Primera Version, se agregaron todas las subsecciones.
Los textos eliminados se marcan así. Los textos añadidos se marcan así.
Línea 7: Línea 7:
== Tipos de datos de GLib ==

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.

=== 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 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.

=== Tipos de GLib que facilitan el uso de tipos del estándar C. ===
||<style="text-align: center;">'''Tipos de GLib''' ||<style="text-align: center;">'''Tipos del C estándar.''' ||<style="text-align: center;">'''Definición''' ||
||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||

=== 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||

=== 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, 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 ge delante del tipo.
[[Include(Documentacion/Desarrollo/Glib/TiposDeDatosDeGlib,"Tipos de datos de GLib",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/MensajesDeSalida,"Mensajes de salida",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/TrabajarConCadenas,"Trabajar con cadenas",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/JugandoConElTiempo,"Jugando con el tiempo",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/MiscelaneaDeFunciones,"Miscelánea de funciones",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/BuclesDeEjecucion,"Bucles de ejecución",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/TratamientoDeficherosYCanalesDeEntradaYSalida,"Tratamiento de ficheros y canales de Entrada/Salida",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/ManejoDeMemoriaDinamica,"Manejo de memoria dinámica",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/EstructuraDeDatosListasEnlazadasPilasYColas,"Estructuras de datos: listas enlazadas, pilas y colas",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/EstructurasDeDatosAvanzadas,"Estructuras de datos avanzadas",2,from="== ==", to="^----")]]
[[Include(Documentacion/Desarrollo/Glib/GlibAvanzado,"GLib Avanzado",2,from="== ==", to="^----")]]

Glib

TableOfContents()

La biblioteca GLib es una de las más importantes que existen en GNOME. Esta biblioteca es, junto a la biblioteca GTK+, el pilar sobre el que se sustentan todas las aplicaciones.

Include(Documentacion/Desarrollo/Glib/TiposDeDatosDeGlib,"Tipos de datos de GLib",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/MensajesDeSalida,"Mensajes de salida",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/TrabajarConCadenas,"Trabajar con cadenas",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/JugandoConElTiempo,"Jugando con el tiempo",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/MiscelaneaDeFunciones,"Miscelánea de funciones",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/BuclesDeEjecucion,"Bucles de ejecución",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/TratamientoDeficherosYCanalesDeEntradaYSalida,"Tratamiento de ficheros y canales de Entrada/Salida",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/ManejoDeMemoriaDinamica,"Manejo de memoria dinámica",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/EstructuraDeDatosListasEnlazadasPilasYColas,"Estructuras de datos: listas enlazadas, pilas y colas",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/EstructurasDeDatosAvanzadas,"Estructuras de datos avanzadas",2,from="== ==", to="^----") Include(Documentacion/Desarrollo/Glib/GlibAvanzado,"GLib Avanzado",2,from="== ==", to="^----")

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