GObjeto | |
---|---|
Tipo de | Biblioteca |
Desarrollador | Fundación GNOME |
Escrito en | C |
Sistema operativo | Software multiplataforma |
Idiomas de la interfaz | Plurilingüe |
plataforma de hardware | Software multiplataforma |
ultima versión | 2.72.3 ( 30 de junio de 2022 ) |
Estado | Activo |
Licencia | Licencia pública general menor de GNU |
Sitio web | biblioteca.gnome.org/devel/… |
El sistema de objetos GLib o GObject es una biblioteca de código abierto (con licencia bajo la LGPL ) que proporciona un sistema de objetos portátil y compatibilidad transparente entre idiomas. GObject está diseñado para usarse tanto en C como en otros lenguajes mediante enlaces.
Dependiendo solo de GLib y Libc , GObject es una parte esencial de GNOME y es utilizado por GTK , Pango, Accessibility Toolkit y otras bibliotecas GNOME de alto nivel. Antes de GTK+ 2.0, GObject era parte de GTK+ (entonces no se usaba el nombre "GObject"; el tipo de índice genérico se llamaba GtkObject).
Aunque GObject tiene su propio conjunto separado de documentación [1] y generalmente se compila en bibliotecas compartidas separadas , el código fuente de GObject está en el árbol GLib y se distribuye con GLib (por ejemplo, Debian incluye GObject en el paquete libglib2.0). Como resultado, GObject usa los mismos números de versión que GLib.
En el nivel más básico de GObject se encuentra un sistema de tipo dinámico llamado GType. El sistema GType es responsable de describir el tiempo de ejecución de todos los objetos que permiten escribir código relacionado para su uso con diferentes enlaces de lenguaje. El sistema de tipos puede manejar cualquier estructura de clase de herencia única , así como tipos que no son de clase , como puntero opaco , cadena, entero y flotante.
El sistema de tipos sabe cómo copiar, pasar y destruir valores que pertenecen a cualquier tipo registrado. Esto es trivial para tipos simples como enteros, pero algunos objetos complejos usan el conteo de referencias y otros no. Si un objeto complejo utiliza el recuento de referencias, cuando se copia, el número de referencias simplemente aumenta en 1. De lo contrario, el objeto se copiará mediante la asignación de memoria adicional.
Esta funcionalidad básica se utiliza en la implementación de GValue, un contenedor de tipo genérico que puede contener valores de cualquier tipo conocido por el sistema de tipos. Dichos contenedores son especialmente útiles cuando interactúan con lenguajes tipificados dinámicamente , donde todos los valores nativos están en contenedores con etiquetas de tipo .
GNOMO | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Aplicaciones |
| ||||||||||||||||
Aplicaciones |
| ||||||||||||||||
Componentes | |||||||||||||||||
Arquitectura de plataforma |
| ||||||||||||||||
Comunidad | |||||||||||||||||
Gente | |||||||||||||||||
|