GLib
From Wikipedia, the free encyclopedia
In computing, GLib refers to a cross-platform software utility library. It started life as part of the GTK+ 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.[citation needed]
[edit] Features
To meet Wikipedia's quality standards, this article or section may require cleanup because it is in a list format that may be better presented using prose. You can help by converting this section to prose, if appropriate. Editing help is available. (January 2008) |
Some features of GLib include:
- basic types and their limits
- standard macros
- type conversions
- byte order conversion
- memory allocation
- warnings and assertions
- message logging
- timers
- string utilities
- hook functions
- a lexical scanner
- dynamic loading of modules
- threads
- memory pools
- 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 lists
- hash tables (associative arrays)
- strings (which can grow dynamically)
- string chunks (groups of strings)
- arrays (which can grow in size as elements are added)
- balanced binary trees
- 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 and tuples (tables of data which can be indexed on any number of fields)
- caches.
[edit] 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 toolkits usually also provide low-level functions and implementations of data structures. An example is the wxWidgets library, where the non-GUI functions are in the wxBase library.
[edit] External links
- GLib API documentation
- Foundations of GTK+ Development, book on GTK+/GLib development