Bibliotecas linguagem c
6
Sumário: Introdução Funções de manipulação de strings Funções de ordenação Funções matemáticas Funções de entrada/saída de alto-nível Funções de entrada/saída de baixo-nível Funções de memória Funções de temporização
Este capítulo objectiva fazer: revisão e aprofundamento da linguagem C; aquisição de competências básicas na utilização de bibliotecas de C/Unix. NOTA: Este capítulo não será alvo de debate ou prática nas aulas. Só serve para revisões de matéria supostamente leccionada em semestres anteriores.
1/13
Introdução
Existe uma relação estreita entre a linguagem C e o sistema Unix/Linux . O sistema operativo Unix/Linux está escrito em grande parte em C e a história do SO Unix é também a história da linguagem C. A utilização das bibliotecas estandardizadas aquando da unificação (linkage) do código objecto requer a inclusão prévia e criteriosa dos seguintes ficheiros (.h) nos ficheiros fonte: 1. 2. 3. 4. 5. 6. 7. string.h stdlib.h math.h stdio.h memory.h time.h unistd.h (strings) (ordenação) (matemática) (I/O) (memória) (tempo) (acesso a ficheiros e directorias)
A inclusão dum ficheiro (.h) faz-se através da directiva #include ao pré-processador. Por exemplo, #include faz a inclusão dos protótipos das funções de entrada/saída cujo código objecto se encontra na biblioteca libC, que é a biblioteca estandardizada da linguagem C. A biblioteca libC é a única que não precisa ser explicitamente especificada durante a compilação. O código objecto de libC é automaticamente unificado com o código objecto de qualquer programa escrito em C. Normalmente o código está contido numa biblioteca estática libc.a e outro dinâmica libc.so A utilização de qualquer outra função pertencente a outra biblioteca torna obrigatória a especificação da respectiva biblioteca no acto da compilação. Por exemplo, se um programa chamado myp.c usa funções matemáticas, então há que fazer: a inclusão do ficheiro