GLib

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
GLib
Desarrollador
GNOME Foundation
http://library.gnome.org/devel/glib/
Información general
Última versión estable 2.31.10
17 de enero de 2012; hace 2 años (2012-01-17)
Última versión en pruebas 2.31.12 (info)
19 de enero de 2012; hace 2 años (2012-01-19)
Género Biblioteca de propósito general
Programado en C
Sistema operativo Multiplataforma
Plataforma Multiplataforma
Licencia GNU LGPL
Idiomas Multilingüe
[editar datos en Wikidata ]

GLib es una biblioteca de propósito general que se usa para implementar muchas funciones no gráficas. Aunque GTK+ lo necesita, GLib puede usarse de forma independiente. Por eso, algunas aplicaciones usan GLib sin usar la biblioteca GTK+.

Uno de los mayores beneficios de usar GLib es que provee una interfaz de plataforma independiente que permite que el código pueda ser usado en diferentes sistemas operativos. Otro aspecto de GLib es la amplia gama de tipo de datos que deja disponible al desarrollador.

  • GLib provee tipos de datos en C que usualmente se incluyen de forma estándar a otros lenguajes, como por ejemplo listas enlazadas. Otros tipos de datos básicos incluidos son colas doblemente enlazadas, árboles binarios autobalanceados, etc.
  • Las cadenas de caracteres en GLib son similares a las de C++, porque son buffers de texto que crecen automáticamente cuando se agregan datos. Son fáciles de integrar a la familia de funciones printf().
  • Los segmentos de memoria (memory slice) son una forma eficiente de crear secciones de memoria que tienen todos el mismo tamaño. Pueden ser usados para crear vectores aún de elementos de tamaño conocido.
  • Las cachés (Hash Tables desde la versión 2.32) son usadas para compartir grandes y complejas estructuras de datos en una sencilla API, lo cual ayuda a ahorrar espacio. Se usan en GTK+ para los estilos y contextos gráficos, ya que estos objetos consumen muchos recursos.

GLib además de proporcionar varios tipos de datos, también dispone de numerosos tipos de funciones. Se encuentran funciones de manipulación de archivos, soporte de internacionalización, cadenas de caracteres, advertencias, banderas de depuración, carga dinámica de módulos, sólo por nombrar algunas.

GLib maneja funciones que pueden ser llamadas cuando el microprocesador no está haciendo nada en la aplicación. También puede llamar funciones en un intervalo arbitrario de tiempo.

Dependencias[editar]

Biblioteca libiconv Se necesita para usar la función iconv(), la cual convierte entre diferentes codificaciones de caracteres.
Biblioteca libintl Se necesita si el sistema no cuenta con la función gettext()

Tipos de datos[editar]

GLib define tipos de datos que usan otras bibliotecas, los cuales garantizan mayor portabilidad de código.

Tipo de dato Descripción
gboolean Tipo lógico estándar. Las variables de este tipo sólo pueden contener TRUE o FALSE.
gpointer Un puntero sin tipo de datos. gpointer luce mejor y es más fácil de usar que void*.
gconstpointer Un puntero sin tipo de datos. El dato apuntado no puede ser cambiado.
gchar Corresponde al tipo carácter estándar de C (char).
guchar Corresponde al tipo carácter sin signo estándar de C (unsigned char).
gint Corresponde al tipo entero estándar de C (int). Sus valores van del rango de G_MININT a G_MAXINT.
guint Corresponde al tipo entero sin signo estándar de C (unsigned int). Sus valores van del rango de 0 a G_MAXUINT.
gshort Corresponde al tipo entero corto estándar de C (short). Sus valores van del rango de G_MINSHORT a G_MAXSHORT.
gushort Corresponde al tipo entero corto sin signo estándar de C (unsigned short). Sus valores van del rango de 0 a G_MAXUSHORT.
glong Corresponde al tipo entero largo estándar de C (long). Sus valores van del rango de G_MINLONG a G_MAXLONG.
gulong Corresponde al tipo entero largo sin signo estándar de C (unsigned long). Sus valores van del rango de 0 a G_MAXULONG.
gint8 Entero con signo de 8 bits en cualquier plataforma. Rango de -128 a 127.
guint8 Entero sin signo de 8 bits en cualquier plataforma. Rango de 0 a 255.
gint16 Entero con signo de 16 bits en cualquier plataforma. Rango de -32,768 a 32,767.
guint16 Entero sin signo de 16 bits en cualquier plataforma. Rango de 0 a 65,535.
gint32 Entero con signo de 32 bits en cualquier plataforma. Rango de -2,147,483,648 a 2,147,483,647.
guint32 Entero sin signo de 32 bits en cualquier plataforma. Rango de 0 a 4,294,967,295.
gint64 Entero con signo de 64 bits en cualquier plataforma. Rango de -9,223,372,036,854,775,808 a 9,223,372,036,854,775,807.
gfloat Corresponde al tipo flotante estándar de C (float). Sus valores van del rango de -G_MAXFLOAT a G_MAXFLOAT.
gdouble Corresponde al tipo flotante doble estándar de C (double). Sus valores van del rango de -G_MAXDOUBLE to G_MAXDOUBLE.
gsize Valor entero sin signo resultado del operador sizeof. El tamaño de este tipo es el suficiente para almacenar un valor numérico de un puntero, en una plataforma de 32 bits utiliza 32 bits, en una plataforma de 64 bits utiliza 64 bits.
gssize Variante con signo del tipo gsize.
goffset Valor entero con signo que se usa para representar offsets de archivos.

Véase también[editar]

Enlaces externos[editar]

Manual de referencia oficial de GLib