Clever Geek Handbook
📜 ⬆️ ⬇️

GObject

The GLib or GObject object system is an open source library (licensed under the LGPL ) that represents a portable object system and transparent cross-language compatibility. GObject is designed for use in both C and other languages ​​using bindings.

GObject
Type ofLibrary
DeveloperGNOME Foundation
Written onC
operating systemCross Platform Software
Interface languagesMultilingual
Hardware platformCross Platform Software
Latest version2.48.1 ( May 13, 2016 )
Test version2.33.1 ( May 2, 2012 )
conditionActive
LicenseGNU Lesser General Public License
Sitelibrary.gnome.org/devel/...

History

Dependent only on GLib and Libc, GObject is an important part of GNOME and is used in GTK + , Pango, Accessibility Toolkit, and other high-level GNOME libraries. Prior to GTK + 2.0, GObject was part of GTK +. (The name “GObject” was not used then - the general index type was called GtkObject.)

Link to GLib

Despite the fact that GObject has its own separate set of documentation [1] and is usually compiled into separate shared libraries , the source code for GObject is in the GLib tree and distributed with GLib (for example, Debian supplies GObject in the libglib2.0 package). In this regard, GObject uses the same version numbers as GLib.

Type System

At the most basic level of GObject lies a dynamic type system called GType. The GType system is responsible for describing the execution time of all objects that allow writing related code for use with different language bindings. A type system can handle any class structure with a single inheritance, as well as non-class types, such as an opaque pointer , string, integer, and floating-point number.

The type system knows how to copy, transfer, and destroy values ​​that belong to any registered type. This is trivial for simple types, such as integers, but some complex objects use reference counting, and some do not. If a complex object uses reference counting, then when it is copied, the number of links simply increases by 1. Otherwise, the object will be copied by allocating additional memory.

This basic functionality is used in the implementation of GValue, a generic type container that can contain values ​​of any type known to the type system. Such containers are especially useful when interacting with dynamically typed languages, where all the native values ​​are in containers labeled with types ( English type-tagged container ).

See also

  • Vala
  • Genie

Notes

  1. ↑ GObject Reference Manual (English) (HTML). Date of treatment August 12, 2010.

Links

  • The GObject Reference Manual (and tutorial) (English) (HTML). Date of treatment August 12, 2010.
  • GObject Tutorial Aug 2004 (English) (HTML) (link not available) . Date of treatment August 12, 2010. Archived February 2, 2017.
  • GOB2 - the GObject Builder (English) (HTML). Date of treatment August 12, 2010.
  • Vala Homepage (English) (HTML). Date of treatment August 12, 2010.
  • Reference description GObject (Russian)


Source - https://ru.wikipedia.org/w/index.php?title=GObject&oldid=100935221


More articles:

  • Cnemisus
  • Uchida, Atsuto
  • Oxyomus
  • Wrong music
  • Protapioceridae
  • Hart, Charles
  • Andronicus V Paleologologist
  • UNICS
  • Ica (region)
  • Mikhailyuk, Alexandra Timofeevna

All articles

Clever Geek | 2019