- GLib
In
computing , GLib refers to a cross-platform software utility library. It started life as part of theGTK+ project, however, before releasing version 2 of GTK+, the project's developers decided to separate non-GUI -specific code from the GTK+ platform, thus creating GLib as a separate product. GLib was released as a separate library so other developers, those that did not make use of the GUI-related portions of GTK+, could make use of the non-GUI portions of the library without the overhead of depending on a full-blown GUI library.Since GLib is a cross-platform library, applications using it to interface with the operating system are usually portable across different operating systems without major changes. [cite book
last = Krause
first = Andrew
title = Foundations of GTK+ Development
publisher =Apress
series = Expert's Voice in Open Source
year = 2007
isbn = 1590597931
pages = p. 5
quote = [GLib] provides a cross-platform interface that allows your code to be run on any of its supported operating systems "with little to no rewriting of code"! ]Features
Some features of GLib include:
* basic types and their limits
* standard macros
*type conversion s
* byte order conversion
*memory allocation
* warnings and assertions
* message logging
*timers
* string utilities
*hook function s
* a lexical scanner
* dynamic loading of modules
* threads
*memory pool s
* automatic string completion.
* a type system,GType
* an object system,GObject A number of data structures (and their related operations) are also defined, including:
* memory chunks
* doubly- and singly-linked list s
*hash table s (associative arrays)
* strings (which can grow dynamically)
* string chunks (groups of strings)
*arrays (which can grow in size as elements are added)
* balancedbinary tree s
* N-ary trees
* quarks (a two-way association of a string and a unique integer identifier)
*keyed data lists (lists of data elements accessible by a string or integer id)
* relations andtuple s (tables of data which can be indexed on any number of fields)
* caches.Similar projects
For many applications, C with GLib is an alternative to C++ with STL (see
GObject for a detailed comparison).GLib, together with GTK+, can be considered similar in scope and purpose to the
Windows API . However, applications using the Windows API are not portable to other operating systems, unless the calls are replaced with their equivalents in the target system.Other
widget toolkit s usually also provide low-level functions and implementations of data structures. For instance, in thewxWidgets library the non-GUI functions are in the wxBase library, and in Qt the non-GUI parts are in the QtCore module.References
External links
* [http://library.gnome.org/devel/glib/stable/ GLib API documentation]
* [http://www.gtkbook.com/ Foundations of GTK+ Development] , book on GTK+/GLib development
Wikimedia Foundation. 2010.