El Estándar ANSI

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

El estndar ANSI

La biblioteca estndar de ANSI C consta de 24 ficheros cabecera que pueden ser incluidos
en un proyecto de programacin con una simple directiva. Cada cabecera contiene la
declaracin de una o ms funciones, tipos de datos y macros.
En comparacin con otros lenguajes de programacin (como por ejemplo Java) la
biblioteca estndar es muy pequea, sta proporciona un conjunto bsico de funciones
matemticas, de tratamiento de cadenas, conversiones de tipo y entrada/salida
por consola o por ficheros. No se incluyen, ni un conjunto de tipos de datos contenedores
bsicos (listas, pilas, colas, ...), ni herramientas para crear una interfaz grfica de
usuario (GUI), ni operaciones para trabajar en red, ni otras funcionalidades que lenguajes
como C++ o Java incorporan de manera estndar. La principal ventaja del reducido
tamao de la biblioteca estndar de C es que construir un entorno de trabajo en ANSI C es
muy fcil y, en consecuencia, portar un programa en ANSI C de una plataforma a otra es
relativamente sencillo.
Se han desarrollado muchas otras bibliotecas para proporcionar una funcionalidad
equivalente a la de otros lenguajes de programacin. Por ejemplo, el proyecto de
desarrollo del entorno de escritorio de GNOME cre las bibliotecas GTK+ y GLib con
funcionalidades para desarrollar y trabajar con interfaces grficas de usuario. La variedad
de bibliotecas disponibles ha hecho que, a lo largo de la historia, haya quedado
demostrada la superioridad de algunas de estas herramientas. El gran inconveniente es
que a menudo no funcionan especialmente bien en conjunto, normalmente son los propios
programadores familiarizados con las diferentes bibliotecas quienes consiguen sacarles el
mximo partido, aunque diferentes partes de ellas puedan estar disponibles en cualquier
plataforma.

Archivos de cabeceras de la biblioteca ANSI C]

Contiene la macro assert (asercin), utilizada para detectar errores lgicos


<assert.h>
y otros tipos de fallos en la depuracin de un programa.

<complex.h
Conjunto de funciones para manipular nmeros complejos (nuevo en C99).
>

Contiene funciones para clasificar caracteres segn sus tipos o para


<ctype.h> convertir entre maysculas y minsculas independientemente del conjunto
de caracteres(tpicamente ASCII o alguna de sus extensiones).

Para analizar los cdigos de error devueltos por las funciones de


<errno.h>
biblioteca.

<fenv.h> Para controlar entornos en coma flotante (nuevo en C99).

<float.h> Contiene la definicin de constantes que especifican ciertas propiedades


de la biblioteca de coma flotante, como la diferencia mnima entre dos
nmeros en coma flotante (_EPSOLON), el nmero mximo de dgitos de
precisin (_DIG), o el rango de valores que se pueden representar (_MIN,
_MAX).

Para operaciones de conversin con precisin entre tipos enteros (nuevo


<inttypes.h>
en C99).

<iso646.h> Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1).

Contiene la definicin de constantes que especifican ciertas propiedades


<limits.h> de los tipos enteros, como rango de valores que se pueden representar
(_MIN, _MAX).

Para la funcin setlocale() y las constantes relacionadas. Se utiliza


<locale.h>
para seleccionar el entorno local apropiado (configuracin regional).

<math.h> Contiene las funciones matemticas comunes.

Declara las macros setjmp y longjmp para proporcionar saltos de flujo


<setjmp.h>
de control de programa no locales.

Para controlar algunas situaciones excepcionales como la divisin por


<signal.h>
cero.

Posibilita el acceso a una cantidad variable de argumentos pasados a una


<stdarg.h>
funcin.

<stdbool.h> Para el tipo booleano (nuevo en C99).

<stdint.h> Para definir varios tipos enteros (nuevo en C99).

<stddef.h> Para definir varios tipos de macros de utilidad.

Proporciona el ncleo de las capacidades de entrada/salida del lenguaje C


<stdio.h> (incluye la venerable funcin printf ).

<stdlib.h> Para realizar ciertas operaciones como conversin de tipos, generacin de


nmeros pseudo-aleatorios, gestin de memoria dinmica, control de
procesos, funciones de entorno, de sealizacin (??), de ordenacin y
bsqueda.

<string.h> Para manipulacin de cadenas de caracteres.

Contiene funcionalidades matemticas de tipo genrico (type-generic)


<tgmath.h>
(nuevo en C99).

<time.h> Para tratamiento y conversin entre formatos de fecha y hora.

Para manipular flujos de datos anchos y varias clases de cadenas de


<wchar.h> caracteres anchos (2 o ms bytes por carcter), necesario para soportar
caracteres de diferentes idiomas (nuevo en NA1).

<wctype.h> Para clasificar caracteres anchos (nuevo en NA1).

La biblioteca estndar de C en C++


El lenguaje de programacin C++ incluye la funcionalidad de la biblioteca estndar ANSI C,
pero hace algunas modificaciones como cambiar los nombres de los ficheros de cabecera,
de <xxx.h> a <cxxx> (aunque los nombres en estilo C, aun siendo obsoletos, siguen
estando disponibles), y ubican todos los identificadores dentro del namespace std .

Bibliotecas de apoyo comunes


Aunque no est estandarizado, los programas en C pueden depender de una biblioteca de
rutinas en tiempo de ejecucin que contengan cdigo que el compilador utiliza en tiempo
de ejecucin. El cdigo que inicializa un proceso por el sistema operativo (por ejemplo,
antes de llamar a main() ) est implementado en la biblioteca Run-Time (tiempo de
ejecucin) de C proporcionada por el distribuidor del compilador. El cdigo de la
biblioteca Run-Time podra ayudar con otras caractersticas de la implementacin, como la
manipulacin de excepciones no capturadas o implementando cdigo para operaciones en
coma flotante.
La biblioteca estndar de C slo documenta que las rutinas mencionadas en el presente
artculo estn disponibles, as como su comportamiento. Ya que la implementacin del
compilador podra depender de la implementacin de estas funciones para estar
disponible, es probable que la especificacin de las rutinas proporcionada por el fabricante
est empaquetada con la biblioteca estndar de C en el mismo mdulo, ya que
probablemente, ambas sern necesarias para cualquier programa construido con este
compilador.
Aunque a menudo se confunda con la biblioteca estndar de C, debido a este
empaquetamiento, la biblioteca Run-Time de C no es una parte normalizada del lenguaje,
sino que es una especificacin

Funciones incorporadas del compilador


Algunos compiladores (por ejemplo GCC1) proporcionan versiones incorporadas de
muchas de las funciones de la biblioteca estndar de C; es decir, la implementacin de las
funciones est escrita dentro del fichero objeto compilado, y el programa llama a la versin
incorporada en vez de, a la funcin del fichero objeto compartido en la biblioteca de C.
Esto reduce el sobrecoste de una llamada a funcin, especialmente si las llamadas a
funcin son remplazadas con variantes inline, y permiten otras formas
de optimizacin (como cuando el compilados sabe las caractersticas de control de flujo de
las variantes incorporadas), pero puede causar confusin al depurar (por ejemplo, las
versiones incorporadas no pueden ser remplazadas por las variantes instrumentadas).

También podría gustarte