Vous êtes sur la page 1sur 4

Biblioteca padro do C

Origem: Wikipdia, a enciclopdia livre. A biblioteca padro do C (tambm conhecida como libc) uma biblioteca de rotinas padronizada da linguagem de programao C que contm operaes comuns como tratamento de entrada/sada e cadeia de caracteres. Diferente de outras linguagens como COBOL, Fortran e PL/I, C no inclui palavras-chave nativas para tais tarefas, de forma que praticamente todos os programas C fazem uso da biblioteca padro. ndice 1 Estrutura o 1.1 Qualidade 2 Histria 3 Padro ANSI o 3.1 Cabealhos do ANSI C 4 Biblioteca padro do C em outras linguagens 5 Implementaes 6 Referncias 7 Ver tambm 8 Ligaes externas

Estrutura O nome e as caractersticas de cada funo esto em um arquivo chamado cabealho, mas a implementao das funes est em um arquivo separado. A nomenclatura e o escopo dos cabealhos comum a diferentes implementaes, mas a organizao das bibliotecas diverge. Cada compilador C possui sua implementao da biblioteca padro C. Como os compiladores C geralmente oferecem funcionalidades adicionais que no so especificadas pelo ANSI C, a implementao da biblioteca padro de um compilador muito provavelmente incompatvel com a de outro. Qualidade A maioria da biblioteca padro se mostrou ter sido bem desenvolvida. Entretanto, algumas partes so atualmente consideradas erros de modelagem. Por exemplo, as funes de entrada de texto gets() e scanf() (esta, para ler entrada de texto) so consideradas a fonte de diversos problemas de buffer overflow, e seu uso desaconselhado. Outra fraqueza strtok(), uma funo que visa servir como um analisador lxico primitivo, mas que "frgil" e difcil de usar.

Histria Antes de ser padronizada, a linguagem C no fornecia funcionalidades nativas como operaes de entrada e sada, diferente de outras linguagens tradicionais como Cobol e Fortran). Com o tempo, a comunidade de usurios compartilhou idias e implementaes do que atualmente chamado biblioteca padro. Tanto o Unix quanto a linguagem C foram criados no Bell Labs entre o final da dcada de 1960 e o incio da dcada de 1970. Durante a dcada de 1970 a linguagem C tornou-se cada vez mais popular, e diferentes universidades e organizaes estavam criando suas prprias variaes da linguagem para seus projetos. A partir da dcada de 1980, os problemas de compatibilidade por conta dessas diferentes verses se tornou cada vez mais aparente. Em 1983 a ANSI formou um comit para estabelecer uma especificao formal da linguagem conhecida como ANSI C. Esse trabalho culminou na criao padro C89 em 1989. Parte do padro que havia surgido era um conjunto de bibliotecas chamado biblioteca padro do ANSI C. Revises posteriores do padro da linguagem C adicionaram diversos novos cabealhos e funcionalidades biblioteca padro. Entretanto, o suporte para essas novas extenses variam entre implementaes. Os cabealhos <iso646.h>, <wchar.h> e <wctype.h> foram adicionados com o Normative Addendum 1 (NA1), uma ratificao de 1995. J os cabealhos <complex.h>, <fenv.h>, <inttypes.h>, <stdbool.h>, <stdint.h> e <tgmath.h> foram adicionados com o C99, uma reviso do padro publicada em 1999. Padro ANSI A biblioteca padro ANSI C consiste de 24 cabealhos, cada um contendo uma ou mais declaraes de funes, tipos de dados e macros. Em comparao com linguagens como Java, esta biblioteca padro minscula. Ela fornece um conjunto bsico de operaes matemticas, manipulao de cadeias de caracteres, converso de tipos de dados e entrada e sada de arquivo e da tela. No contm um conjunto padro de containers como a biblioteca padro do C++ (parte chamada Standard Template Library), nem suporta interface grfica do utilizador. A vantagem desse sistema minimalista que fornecer um ambiente funcional de ANSI C muito mais simples que em outras linguagens, e, conseqentemente, a portabilidade de C entre diferentes plataformas uma tarefa relativamente simples.

Vrias outras bibliotecas foram desenvolvidas para suprir as necessidades computacionais que a biblioteca padro no cobre. Por exemplo, o projeto GNOME desenvolveu o toolkit GTK+ e a GLib, uma biblioteca de containers. Cabealhos do ANSI C Descrio Disponibilidade a partir de

Macro para ajudar na deteco de erros lgicos e outros tipos de erros <assert.h> em verses de depurao de um programa. Conjunto de funes para manipular <complex.h> C99 nmeros complexos. Funes usadas para classificar caracteres pelo tipo ou para <ctype.h> converter entre caixa alta e baixa independentemente da codificao. Teste de cdigos de erro reportados <errno.h> pelas funes de bibliotecas. <fenv.h> Controle de ponto flutuante. C99 Constantes de propriedades especficas de implementao da biblioteca de ponto flutuante, como a menor diferena entre dois nmeros de ponto flutuante <float.h> distintos (_EPSILON), a quantidade mxima de dgitos de acurcia (_DIG) e a faixa de nmeros que pode ser representada (_MIN, _MAX). Converso precisa entre tipos <inttypes.h> C99 inteiros. Programao na codificao de <iso646.h> NA1 caracteres ISO 646. Constantes de propriedades especficas de implementao da <limits.h> biblioteca de tipos inteiros, como a faixa de nmeros que pode ser representada (_MIN, _MAX). Constantes para setlocale() e <locale.h> assuntos relacionados. Funes matemticas comuns em <math.h> computao.

<setjmp.h> <signal.h> <stdarg.h> <stdbool.h> <stdint.h> <stddef.h> <stdio.h>

<stdlib.h>

<string.h> <tgmath.h> <time.h> <wchar.h> <wctype.h>

Macros setjmp e longjmp, para sadas no locais. Tratamento de sinais. Acesso dos argumentos passados para funes com parmetro varivel. Definio do tipo de dado booleano. C99 Definio de tipos de dados inteiros. C99 Diversos tipos e macros teis. Manipulao de entrada/sada. Diversas operaes, incluindo converso, gerao de nmeros pseudo-aleatrios, alocao de memria, controle de processo, sinais, busca e ordenao. Tratamento de cadeia de caracteres. Funes matemticas. C99 Converso de tipos de dado de data e horrio. Manipulao de caractere wide, usado para suportar diversas NA1 lnguas. Classificao de caracteres wide. NA1

Biblioteca padro do C em outras linguagens Algumas linguagens incluem a funcionalidade da biblioteca padro do C em suas prprias bibliotecas. A biblioteca pode ser adaptada para se adequar melhor estrutura da linguagem destino, mas a semntica permanece a mesma. Por exemplo, C++ inclui a funcionalidade da biblioteca padro ANSI C no espao de nomes std (como std::printf, std::atoi, std::feof, etc.), em cabealhos parecidos com os do C, exceto pela retirada do sufixo ".h" e pela adio do prefixo "c" ("cstdio", "cmath", "cstdlib", etc.). Outras linguagens que adotam abordagens similares incluem D e Python. ...

Definio Wikipedia Biblioteca Padro do C

Vous aimerez peut-être aussi