Bibliotecas para C

Existe uma grande quantidade de bibliotecas disponíveis para a linguagem C, algumas delas mais genéricas e muitas outras construídas para áreas específicas, como o processamento de imagens, serviços de rede, etc.

Este módulo apresenta algumas bibliotecas para C que podem ser úteis para o desenvolvimento de programas mais complexos.

Bibliotecas de Uso geral

LibC

A biblioteca padrão C (C Standard Library) ou simplesmente LibC, contém a maioria das funções básicas da linguagem C como ''printf'', ''scanf'', ''fopen'' e muitas outras.

A LibC oferece funções para:

Uma definição da biblioteca padrão C específica para sistemas no padrão POSIX for definida como POSIX C Library. Além das funções da LibC padrão, ela também implementa:

Como o próprio nome diz, a biblioteca padrão está disponível por default na grande maioria dos sistemas operacionais que suportam a linguagem C. Sistemas UNIX como o Linux e o FreeBSD usam geralmente a implementação da LibC construída pelo projeto GNU, chamada GNU C Library, ou simplesmente GLibC.

A GLibC implementa as funcionalidades da LibC padrão e da extensão POSIX, mas traz também um grande conjunto de extensões que não estão disponíveis em outras implementações. Por isso, ao desenvolver programas que devem funcionar em mais de uma plataforma, deve-se verificar se as funções utilizadas são suportadas em todas elas.

GLib

A GLib é uma biblioteca de uso geral com um grande conjunto de funcionalidades para a construção de estruturas de dados (listas, árvores, tabelas hash, etc.). A biblioteca GLib é muito usada para a construção de aplicações em Linux, sobretudo no ambiente gráfico Gnome. Todavia, pode ser compilada e usada em outras plataformas, pois não se relaciona com a interface gráfica.

Páginas com mais informações sobre a GLib:

SGLib

Outra opção para a construção de estrutura de dados usuais, como listas e árvores, é a biblioteca SGLib - A Simple Generic Library for C.

Interface

NCurses

A biblioteca NCurses permite a manipulação do terminal de texto, oferecendo as seguintes funcionalidades:

Estas páginas oferecem informações adicionais sobre a biblioteca NCurses:

SDL

A biblioteca SDL (Simple DirectMedia Layer) oferece acesso à interface gráfica do computador. Estas funcionalidades são oferecidas:

Esta biblioteca está disponível para C e C++ em várias plataformas, como Linux, Windows, Android e iOS. Mais informações sobre SDL podem ser obtidas em:

Allegro

A biblioteca Allegro permite a manipulação de gráficos simples e áudio, sendo bem adaptada para a construção de jogos 2D. É uma biblioteca mais simples (mais limitada) que SDL, mas adequada para projetos menores.

Algumas de suas características são:

Armazenamento

GDBM

A biblioteca GDBM (GNU dbm) permite criar bases de dados simples em disco, estruturadas na forma de pares (chave,valor). São oferecidas funções para criar/destruir bases e criar/remover/buscar registros em uma base.

A estrutura interna da base permite operações de busca/inserção muito rápidas.

SQLite

Quando um programa precisa armazenar e manipular um grande volume de dados estruturados, pode fazer uso da biblioteca SQLite. Esta biblioteca constrói a abstração de uma base de dados relacional no padrão SQL em um arquivo em disco. A maioria das operações típicas de DBMS relacionais, como criação de tabelas, buscas, fusões, etc são suportadas pela biblioteca.

SQLite é a biblioteca usada para armazenamento de dados do usuário no ambiente Android e nos navegadores web Firefox e Chrome.

Ciência

GSL

A biblioteca GSL (GNU Scientific Library) oferece mais de 1000 funções para operações matemáticas de alto desempenho, tais como:

OpenCV

A biblioteca OpenCV (Open Computer Vision) foi desenvolvida pela Intel para o processamento de imagens e vídeos, trazendo uma grande quantidade de funções com desempenho otimizado para o tratamento de fotografias, vídeos capturados por câmeras, etc.