Table of Contents
- GLib Overview
- Compiling the GLib package -
How to compile GLib itself
- Cross-compiling the GLib package -
How to cross-compile GLib
- Compiling GLib Applications -
How to compile your GLib application
- Running GLib Applications -
How to run and debug your GLib application
- Changes to GLib -
Incompatible changes made between successing versions of GLib
- Mailing lists and bug reports -
Getting help with GLib
- GLib Fundamentals
- Version Information - Variables and functions to check the GLib version
- Basic Types - standard GLib types, defined for ease-of-use and portability.
- Limits of Basic Types - portable method of determining the limits of the standard types.
- Standard Macros - commonly-used macros.
- Type Conversion Macros -
portably storing integers in pointer variables.
- Byte Order Macros - a portable way to convert between different byte orders.
- Numerical Definitions - mathematical constants, and floating point decomposition.
- Miscellaneous Macros - specialized macros which are not used often.
- Atomic Operations - basic atomic integer and pointer operations
- GLib Core Application Support
- The Main Event Loop - manages all available sources of events.
thread abstraction; including threads, different mutexes, conditions
and thread private data.
- Thread Pools - pools of threads to execute work concurrently.
- Asynchronous Queues - asynchronous communication between threads.
- Dynamic Loading of Modules - portable method for dynamically loading 'plug-ins'.
- Memory Allocation - general memory-handling.
- IO Channels - portable support for using files, pipes and sockets.
- Error Reporting - a system for reporting errors.
- Message Output and Debugging Functions - functions to output messages and help debug applications.
- Message Logging - versatile support for logging messages with different levels of importance.
- GLib Utilities
- String Utility Functions - various string-related functions.
- Character Set Conversion - convert strings between different character sets using iconv().
- Unicode Manipulation - functions operating on Unicode characters and UTF-8 strings.
- Internationalization - gettext support macros.
- Date and Time Functions - calendrical calculations and miscellaneous time stuff.
- Random Numbers - pseudo-random number generator.
- Hook Functions - support for manipulating lists of hook functions.
- Miscellaneous Utility Functions - a selection of portable utility functions.
- Lexical Scanner - a general purpose lexical scanner.
- Automatic String Completion - support for automatic completion using a group of target strings.
- Timers -
keep track of elapsed time.
- Spawning Processes - process launching with fork()/exec().
- File Utilities - various file-related functions.
- Shell-related Utilities - shell-like commandline handling.
- Commandline option parser - parses commandline options
- Glob-style pattern matching - matches strings against patterns containing '*' (wildcard) and '?' (joker).
- Simple XML Subset Parser - parses a subset of XML.
- Key-value file parser - parses .ini-like config files
- Windows Compatibility Functions - UNIX emulation on Windows.
- GLib Data Types
- Memory Chunks - efficient way to allocate groups of equal-sized chunks of memory.
- Doubly-Linked Lists - linked lists containing integer values or pointers to data, with the ability
to iterate over the list in both directions.
- Singly-Linked Lists - linked lists containing integer values or pointers to data, limited to
iterating over the list in one direction.
- Double-ended Queues - double-ended queue data structure.
- Trash Stacks - maintain a stack of unused allocated memory chunks.
- Hash Tables - associations between keys and values so that given a key the value
can be found quickly.
- Strings - text buffers which grow automatically as text is added.
- String Chunks - efficient storage of groups of strings.
- Arrays - arrays of arbitrary elements which grow automatically as elements are added.
- Pointer Arrays - arrays of pointers to any type of data, which grow automatically as new
elements are added.
- Byte Arrays - arrays of bytes, which grow automatically as elements are added.
- Balanced Binary Trees - a sorted collection of key/value pairs optimized for searching
and traversing in order.
- N-ary Trees - trees of data with any number of branches.
- Quarks - a 2-way association between a string and a unique integer identifier.
- Keyed Data Lists - lists of data elements which are accessible by a string or GQuark identifier.
- Datasets - associate groups of data elements with particular memory locations.
- Relations and Tuples - tables of data which can be indexed on any number of fields.
- Caches - caches allow sharing of complex data structures to save resources.
- Memory Allocators - allocates chunks of memory for GList, GSList and GNode.
- GLib Tools
- glib-gettextize - gettext internationalization utility
- Index of deprecated symbols
- Index of new symbols in 2.2
- Index of new symbols in 2.4
- Index of new symbols in 2.6