Bibliotecas linguagem c

Disponível somente no TrabalhosFeitos
  • Páginas : 8 (1843 palavras )
  • Download(s) : 0
  • Publicado : 8 de novembro de 2012
Ler documento completo
Amostra do texto
Bibliotecas estandardizadas

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 nautilizaçã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 dalinguagem 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-seatravé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ódigoobjecto 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 ficheiromath.h neste programa através da directiva #include , i.e. a linha de código #include tem de ser escrita no início de myp.c, e depois  explicitar a biblioteca libm no comando de compilação, i.e. $ cc myp.c –o myp –lm onde –lm é uma indicação para o unificador (linker) fazer a unificação do código objecto do programa com a bliblioteca libm. Existe um manual on-line para as funções da linguagem C. Porexemplo, para saber a informação disponível sobre a função rand, só é necessário escrever o seguinte na linha de comando do Bash : $ man rand Algumas funções existe duas ou mais vezes nas paginas de manual por exemplo write (bash shell) e write (low-level I/O da linguagem C). As vezes é necessário especificar o manual que pretende pesquisar. Compare os seguintes por exemplo $ man write (bashshell) $ man 2 write (low level sytem calls) $ man 3 fwrite (c standard library) será equivalente a man fwrite porque fwrite ocorre apenas uma vez nas paginas manual. Ou mesmo acontece com printf $ man printf (bash shell) $ man 2 printf (não existe) $ man 3 printf (c standard library

2/13

Strings
O código objecto das funções declaradas em string.h encontra-se na biblioteca libC. Uma string éuma sequência de zero ou mais caracteres que termina com o carácter NULL (‘\0’). Uma string é representado por um vector (array) unidimensional de caracteres, um apontador para uma zona de memória que contém caracteres ASCII. Funções básicas:       Compara string1 com string2: int strcmp(const char *string1, const char *string2) Compara n caracteres do string1 com string2: int strncmp(constchar *string1, const char *string2, int n) Copia string2 para string1: char *strcpy(const char *string1, const char *string2) Devolve mensagem de erro correspondente ao número errnum: char *strerror(int errnum) Determina o comprimento duma string: int strlen(const char *string) Concatena n caracteres da string2 à string1: char *strncat(const char *string1, char *string2, size_t n)

Funções de...
tracking img