GObject

GObject
GObject
Тип

Библиотека

Разработчик

GNOME Foundation

Написана на

C

Операционная система

Кроссплатформенное ПО

Языки интерфейса

Multilingual

Аппаратная платформа

Кроссплатформенное ПО

Последняя версия

2.32.2 (1 мая 2012 года)

Тестовая версия

2.33.1 (2 мая 2012 года)

Состояние

Active

Лицензия

GNU Lesser General Public License

Сайт

library.gnome.org/devel/gobject/stable//devel/gobject/stable/

Объектная система GLib или GObject — библиотека с открытым исходным кодом (лицензируется под LGPL), представляющая портируемую объектную систему и прозрачную межъязыковую совместимость. Gobject спроектирован для использования как в C, так и в других языках при помощи привязок.

Содержание

История

Находясь в зависимости только от GLib и Libc, GObject является важной частью GNOME и используется в GTK+, Pango, Accessibility Toolkit и других высокоуровневых библиотеках GNOME. До GTK+ 2.0, GObject был частью GTK+. (Название «GObject» тогда не использовалось — общий индексный тип назывался GtkObject.)

Связь с GLib

Несмотря на то, что GObject имеет свой собственный отдельный набор документации [1] и обычно компилируется в отдельные разделяемые библиотеки, исходный код для GObject находится в дереве GLib и распространяется вместе с GLib (например, Debian поставляет GObject в пакете libglib2.0). В связи с этим GObject использует те же номера версий, что и GLib.

Система типов

На самом базовом уровне GObject лежит динамическая система типов, которая называется GType. Система GType отвечает за описание времени исполнения всех объектов, позволяющих писать связанный код, для использования с разными языковыми привязками. Система типов может справиться с любой классовой структурой с единичным наследованием, а также с не-классными типами, такими, как непрозрачный указатель, строка, целое число и число с плавающей точкой.

Система типов знает, каким образом копировать, передавать, и уничтожать значения, принадлежащие к любому зарегистрированному типу. Это тривиально для простых типов, таких, как целые числа, но некоторые сложные объекты используют подсчёт ссылок, а некоторые — нет. Если сложный объект использует подсчёт ссылок, то при его копировании количество ссылок просто увеличивается на 1. Иначе, объект будет скопирован путём выделения дополнительной памяти.

Эта базовая функциональность используется в реализации GValue, общего контейнера типов, который может содержать значения любого типа, известного системе типов. Такие контейнеры особенно полезны при взаимодействии с языками с динамической типизацией, где все родные значения находятся в таких type-tagged контейнерах (контейнерах с пометкой типа).

См. также

Примечания

  1. GObject Reference Manual  (англ.) (HTML). Проверено 12 августа 2010.

Ссылки



Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "GObject" в других словарях:

  • GObject — Beispielcode: Hinzufügen der Eigenschaft file size zu einer Klasse. Basisdaten Entwickler …   Deutsch Wikipedia

  • GObject — est le système d objet de la GLib. GObject est une bibliothèque libre (sous licence LGPL) qui fournit un système d objet portable. Elle est conçue pour être utilisée directement en C, ou par des binding dans d autres langages. La plupart des… …   Wikipédia en Français

  • GObject — The GLib Object System, or GObject, is a free software library (covered by the LGPL) that provides a portable object system and transparent cross language interoperability. GObject is designed for use both directly in C programs and through… …   Wikipedia

  • GObject — Una pieza típica del código de inicialización de la clase GObject. El ejemplo muestra una propiedad file size siendo añadida a alguna clase. GLib Object System, o GObject, es una biblioteca de software libre bajo la licencia LGPL que provee un… …   Wikipedia Español

  • GTK+ — Тип библиотека элементов интерфейса (виджетов) Автор The GTK+ …   Википедия

  • Vala (Programmiersprache) — Vala Paradigmen: objektorientiert Erscheinungsjahr: 2006 Entwickler: Jürg Billeter, Raffaele Sandrini Aktuelle Version: 0.14.0  (17. September 2011) …   Deutsch Wikipedia

  • GLib — Entwickler Das GTK+ Team Aktuelle Version 2.30.2 (11. November 2011) Betriebssystem Unix, Windows, OS/2, BeOS …   Deutsch Wikipedia

  • Vala (lenguaje de programación) — Vala Desarrollador(es) Jürg Billeter, Raffaele Sandrini http://live.gnome.org/Vala Información general Extensiones comunes .vala, .vapi, .gir, .c …   Wikipedia Español

  • Reference counting — In computer science, reference counting is a technique of storing the number of references, pointers, or handles to a resource such as an object or block of memory. It is typically used as a means of deallocating objects which are no longer… …   Wikipedia

  • GTK+ — Infobox software name = GTK+ developer = GNOME Foundation latest release version = 2.14.3 latest release date = release date|2008|09|24 latest preview version = latest preview date = programming language = C operating system = Cross platform… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»