GLibNota: Não confundir com glibc, a implementação GNU da biblioteca padrão da linguagem C.
GLib é uma biblioteca multiplataforma de software que inicialmente fazia parte do projeto GTK+. Antes da liberação da versão 2 do GTK+, os desenvolvedores resolveram separar a parte não relacionada com a interface gráfica e criar um produto separado. A GLib é uma biblioteca de uso geral que disponibiliza vários tipos de dados, macros, funções para conversão de tipos, utilitários para manipulação de strings e de arquivos, um laço de eventos, além de outras implementações. Como a GLib é uma biblioteca multiplataforma, as aplicações que a utilizam como interface para o sistema operacional podem ser utilizadas em diferentes sistemas sem maiores alterações.[1] CaracterísticasA GLib possui estruturas de dados avançadas, como chunks de memória, listas duplamente ou simplesmente ligadas, tabelas hash, funções para manipulação de strings, análise léxica de textos, arrays dinâmicos, árvores binárias balanceadas, quarks (uma associação de duas vias entre uma string e um identificador numérico único) e tuplas (tabelas de dados que podem ser indexados por qualquer combinação de campos). O gerenciamento de memória é realizado através de "fatias" de memória (memory slices) e permite a alocação eficiente de memória[2] através da implementação do esquema slab allocation.[3] A GLib também fornece funções que facilitam a criação de programas com múltiplas threads: mutexes, primitivas para acesso a variáveis globais, filas assíncronas, troca de mensagens, log, hooking e timers. Também estão incluídas na GLib as seguintes funcionalidades:
Projetos similaresPara algumas aplicações, a combinação da linguagem C com a biblioteca GLib é uma alternativa para o uso da linguagem C++ com a biblioteca STL. (Ver GObject para uma comparação detalhada). A Apache Portable Runtime possui uma grande sobreposição em relação a GLib e fornece muitas implementações similares para programação com threads, rede e estruturas de dados. Outros toolkits também fornecem pacotes com funções e estruturas de baixo nível. Por exemplo, no wxWidgets as funções não relacionadas a GUI estão separadas na biblioteca wxBase, e no Qt estas funções estão incluídas no módulo QtCore. ComponentesO pacote GLib é composto de 5 bibliotecas:
Referências
Ligações externas |
Portal di Ensiklopedia Dunia