GLib

GLib is a library written in C that provides several features that only with much effort are normally possible in C. So object-oriented programming is greatly simplified and provided complex data structures such as binary trees and linked lists and treatment routines for dealing with threads, files, strings ( and Unicode conversions), time functions, memory access, and more.

The feature set is available under many Unix-like platforms, Windows, OS / 2 and BeOS. Was developed by the GLib from GTK , which itself makes intensive use of its functions. Not to be confused is the name GLib with glibc, the free GNU implementation of the standard C library.

Properties

GLib provides support for

  • Base Types
  • Standard Macros
  • Type conversion
  • Converting the byte order
  • Memory allocation
  • Warnings and assurances
  • Message logging
  • Timer
  • String functions
  • Regular Expressions
  • Hook functions
  • Lexical scanning
  • Parsing an XML subset
  • Dynamic loading of modules
  • Threads
  • Storage Pools
  • Automatic String Completion
  • Type system ( GType )
  • Data Structures Memory chunks
  • Single and double linked lists
  • Hash tables
  • Dynamic - growing strings
  • Strings chunks
  • Fields
  • Balanced binary trees
  • N -ary trees
  • Quarks
  • Relations and tuples
  • Caches

For GLib project belonging, but outsourced to a separate library, the GObject object system, the object-oriented programming in C simplified and among other things provides a signal system with which objects can notify you of events.

Also belongs to GLib - GIO project the library ( GLib interface and Objects ). GIO is based on GObject part of GLib project and provides file and data stream objects, network functionality, classes for data compression and conversion, interfaces for inter-process communication system D-Bus, and an interface for storing application settings.

Other libraries that are based on the GLib - GObject - team, for example, the widget toolkit GTK , the GStreamer multimedia framework, the Clutter animation framework and the HTTP library Soup.

The Vala programming language used as the default GLib library and as GObject object system.

269040
de