You are on page 1of 10

PERODO: OTOO 2012

MATERIA:

Estructura de Datos

MAESTRO: Mtro. Carlos Arturo Guzmn Echeverra

ALUMNO: ISA CHABL ARREOLA FECHA: VIERNES 19 DE OCTUBRE DE 2012.

INTRODUCCION

LIBRERIAS EN C y C++
Al tratar de la construccin de un programa sealamos que en ocasiones no se desea construir un ejecutable, al menos no en el sentido tradicional del trmino, sino una librera, y que estas libreras son trozos de cdigo que contienen alguna funcionalidad pre-construida que puede ser utilizada por un ejecutable. Por supuesto, las libreras contienen en su interior variables y funciones. Si como suponemos son libreras C++, lo ms probable es que estas variables y funciones estn encapsuladas en forma de clases En general, el trmino librera se utiliza para referirse a un conjunto de mdulos objeto .obj / .o (resultados de compilacin) agrupados en un solo fichero que suele tener las extensiones .lib, .bpl .a, .dll, etc. Estos ficheros permiten tratar las colecciones de mdulos como una sola unidad, y representan una forma muy conveniente para el manejo y desarrollo de aplicaciones grandes, adems de ser un concepto muy frtil para la industria del software, ya que permiten la existencia de las libreras de los propios compiladores y de un mercado de utilidades y componentes adicionales. Son las denominadas libreras 3pp (de terceras partes), en referencia a que no son incluidas de forma estndar con los compiladores ni creadas por el programador de la aplicacin. En este sentido el software se parece a cualquier otro mercado de componentes. Adems de las libreras ms o menos extensas que acompaan a los compiladores, pueden adquirirse otras, que permiten aadir a nuestros programas las funcionalidades ms diversas sin necesidad de ser un experto en cada rea de la programacin y sin necesidad de que tengamos que estar reinventando la rueda constantemente. En lo que respecta al lenguaje C++, existen dos tipos fundamentales de libreras: estticas y dinmicas, que aunque comparten el mismo nombre genrico "librera", utilizan mecanismos distintos para proporcionar su funcionalidad al ejecutable. En ambos casos es costumbre, que junto a las libreras propiamente dichas (ficheros .lib, .a, .dll etc), se incluya un fichero .h denominado "de cabecera" porque es tradicin utilizar las primeras lneas del programa para poner las directivas #include que los incluirn en el fuente durante la fase de preproceso. Este fichero contiene las declaraciones de las entidades contenidas en la librera, as como las macros y constantes predefinidas utilizadas en ella, de forma que el programador solo tiene que incluir el correspondiente fichero .h en su aplicacin para poder utilizar los recursos de la librera en cuestin (recuerde que en C/C++ es imprescindible incluir la declaracin de cualquier funcin o clase antes de su utilizacin. Este sistema tiene la ventaja adicional de que proporciona al usuario la informacin mnima para su uso. Es decir, la "interfaz" de las funciones o clases que utilizar. En el caso de funciones esto se concreta en el prototipo en el caso de clases, en la especificacin de sus mtodos y propiedades pblicas.

DESARROLO
Biblioteca estndar de C
La biblioteca estndar de C (tambin conocida como libc) es una recopilacin de ficheros cabecera y bibliotecas con rutinas, estandarizadas por un comit de la Organizacin Internacional para la Estandarizacin (ISO), que implementan operaciones comunes, tales como las de entrada y salida o el manejo de cadenas. A diferencia de otros lenguajes como COBOL, FORTRAN, o PL/I, C no incluye palabras clave para estas tareas, por lo que prcticamente todo programa implementado en C se basa en la biblioteca estndar para funcionar. Diseo El nombre y las caractersticas de cada funcin, el prototipo, as como la definicin de algunos tipos de datos y macros, se encuentran en un fichero denominado archivo de cabecera (con extensin ".h"), pero la implementacin real de las funciones estn separadas en un archivo de la biblioteca. La denominacin y el mbito de las cabeceras se han convertido en comunes, pero la organizacin de las bibliotecas sigue siendo diversa, ya que stas suelen distribuirse con cada compilador. Dado que los compiladores de C, a menudo, ofrecen funcionalidades adicionales que no estn especificados en el ANSI C, la biblioteca de un compilador no siempre es compatible con el estndar ni con las bibliotecas de otros compiladores. Calidad del diseo Est demostrado que la mayor parte de la biblioteca estndar de C ha sido bien diseada, aunque, se ha comprobado que algunas partes tambin son fuente de errores; funciones para entrada de cadenas como gets() o scanf(), producen desbordamientos de buffer, y muchas guas de programacin recomiendan evitar su uso. La funcin strtok() presenta otra singularidad, est diseada para ser utilizada como un analizador lxico rudimentario, pero resulta difcil de utilizar adems de ser muy frgil. Historia El lenguaje de programacin C, antes de normalizarse, no dispona de funcionalidades tales como operaciones de entrada/salida (a diferencia de lenguajes tradicionales como Cobol y Fortran). Con el tiempo, las comunidades de usuarios de C fueron compartiendo ideas, as como las implementaciones de lo que ahora se denomina las bibliotecas estndar de C para proporcionar esas funcionalidades. Muchas de estas ideas se incorporaron finalmente en la definicin estandarizada del lenguaje. Tanto Unix como C fueron creados en los laboratorios Bell de AT&T a finales de la dcada de los 60 y principios de los 70. Fue en los 70 cuando el lenguaje de programacin C acrecent su popularidad. Muchas organizaciones y universidades crearon sus propias versiones del lenguaje para sus propios proyectos. A comienzos de los 80 se evidenciaron los problemas de compatibilidad derivados de la existencia de las mltiples implementaciones del lenguaje. En 1983 el Instituto Nacional Americano de Estndares (ANSI, de las siglas en ingls American National Standards Institute) cre un comit para establecer una especificacin estndar del lenguaje conocida como ANSI C. Este trabajo culmin con la creacin del llamado estndar C89 en 1989. Una parte del estndar resultante fue un conjunto de bibliotecas de software denominado bibliotecas estndar de ANSI C. Posteriores versiones del C estndar han aadido algunos nuevos ficheros cabecera a la biblioteca. El soporte de estas nuevas extensiones vara segn implementaciones.

Las cabeceras <iso646.h>, <wchar.h> y <wctype.h> fueron aadidas con Normativa Addendum 1 (abreviado NA1), y fueron ratificadas por el estndar en 1995. En 1999 se realiz una revisin del estndar que se denomin C99 a la que se aadieron las cabeceras <complex.h>, <fenv.h>, <inttypes.h>, <stdbool.h>, <stdint.h> y <tgmath.h>.

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, est 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, no otras funcionalidades que un lenguaje como Java incorpora 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. ANSI C library header files <assert.h> | Contiene la macro assert (asercin), utilizada para detectar errores lgicos y otros tipos de fallos en la depuracin de un programa. | <complex.h> | Conjunto de funciones para manipular nmeros complejos (nuevo en C99). | <ctype.h> | Contiene funciones para clasificar caracteres segn sus tipos o para convertir ente maysculas y minsculas independientemente del conjunto de caracteres (tpicamente ASCII o alguna de sus extensiones). | <errno.h> | Para testar los cdigos de error devueltos por las funciones de 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). | <inttypes.h> | Para operaciones de conversin con precisin entre tipos enteros (nuevo en C99). | <iso646.h> | Para utilizar los conjuntos de caracteres ISO 646 (nuevo en NA1). | <limits.h> | Contiene la definicin de constantes que especifican ciertas propiedades de los tipos enteros, como rango de valores que se pueden representar (_MIN, _MAX). | <locale.h> | Para la funcin setlocale() y las constantes relacionadas. Se utiliza para seleccionar el entorno local apropiado (configuracin regional). |

<math.h> | Contiene las funciones matemticas comunes. | <setjmp.h> | Declara las macros setjmp y longjmp para proporcionar saltos de flujo de control de programa no locales. | <signal.h> | Para controlar algunas situaciones excepcionales como la divisin por cero. | <stdarg.h> | posibilita el acceso a una cantidad variable de argumentos pasados a una 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. | <stdio.h> | Proporciona el ncleo de las capacidades de entrada/salida del lenguaje C (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. | <tgmath.h> | Contiene funcionalidades matemticas de tipo genrico (type-generic) (nuevo en C99). | <time.h> | Para tratamiento y conversin entre formatos de fecha y hora. | <wchar.h> | Para manipular flujos de datos anchos y varias clases de cadenas de 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 contenga 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 GCC[1] )) 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). POSIX standard library POSIX (y SUS) especifica una serie de rutinas que deben estar disponibles ms all de la propia biblioteca estndar de C. A menudo stas se implementan conjuntamente con la biblioteca de C estndar, con distintos niveles de proximidad. Por ejemplo, glibc implementa funciones como fork() dentro de libc.so, pero antes NPTL se fusion con glibc constituyendo una biblioteca con su propia marca de linkado. A menudo, esta funcionalidad de POSIX se considare una parte de la biblioteca; la propia biblioteca de C puede ser identificada como la biblioteca ANSI C o ISO C LIBRERIAS EN LENGUAJE C #include <stdio.h> clearerr | fclose | feof | ferror | fflush | fgetc | fgetpos | fgets | fopen | formato | fprintf | fputc | fputs | fread |

freopen | fscanf | fseek | fsetpos | ftell | fwrite | getc | getchar | gets | perror | printf | putc | putchar | puts | remove | rename | rewind | scanf | setbuf | setybuf | sprintf | sscanf | tmpfile | tmpnam | ungetc | vfprintf | vprintf | vsprintf | #include <stdlib.h> abort | abs | atexit | atof | atoi | atol | bsearch | calloc | div | exit | free | getenv | labs | ldiv | malloc | mblen | mbstowcs | mbtowc | qsort | rand | Realloc | srand | strtod | strtol | strtoul | system | wctomb | | #include <string.h> memchr | memcmp | memcpy | memmove | memset | strcat | strchr | strcmp | strcoll | strcpy | strcspn | strerror | strlen | strmcat | strmcmp | strmcpy | strpbrk | strrchr | strspn | strstr | strtok | strxfrm | | | | | | | #include <ctype.h> tolower | toupper | | | | | | #include <locale.h> localeconv | setlocale | | | | | |

#include <math.h> Acos | Asin | atan | atan2 | ceil Exp | Fabs | floor | fmod | frexp | ldexp log10 | modf | pow | sin | sinh | sqrt tanh | | | | | #include <setjmp.h> longjmp | setjmp | | #include <signal.h> raise | signal | | | #include <time.h> asctime | clock | ctime | difftime strftime | time | | |

| cos | log | tan | | |

| cosh | | | | | | | | | localtime | | mktime | |

| Gmtime | |

Otras libreras que no tienen funciones asociadas. Pero tienen macros constantes y/o estructuras. #include <assert.h> #include <errno.h> #include <float.h> #include <limits.h> #include <stdarg.h> #include <stddef.h>

RESUMEN DE LIBRERIAS
assert.h Contiene una macro para el diagnstico dentro de los programas. ctype.h Contiene varias funciones para comprobacin de tipos y transformacin de caracteres. errno.h Contiene varias macros usadas para informar de errores. limits.h Contienen varias macros que definen constantes para el tamao de tipo enteros. float.h Contienen varias macros que definen constantes para el tamao de tipo flotante. locale.h Contienen varias macros, funciones y tipos para unidades locales, como unidad monetaria, tiempo, dgitos, etc. math.h Contiene una macro y varias funciones matemticas. setjmp.h Contienen declaraciones que proporcionan una forma de evitar la secuencia normal de llamada y regreso de funciones. signal.h Contiene un tipo, dos funciones y varias macros para manejar condiciones excepcionales que aparecen durante la ejecucin, tal como una seal de interrupcin de una fuente externa o un error en la ejecucin. stdarg.h Contiene un tipo y tres macros que proporcionan recursos para recorrer una lista de argumentos de funcin de tamao y tipo desconocido. stddef.h Contiene varios tipos y macros que tambin estn definidas en otras libreras, como size_t. stdio.h Contiene tipos, macros y funciones para la realizacin de tareas de E/S. stdlib.h Contiene tipos, macros y funciones para la conversin numrica, generacin de nmeros aleatorios, bsquedas y ordenacin, gestin de memoria y tareas similares. string.h Contiene tipos, macros y funciones para la manipulacin de cadenas de caracteres. time.h Contiene tipos, macros y funciones para la la manipulacin de informacin sobre fechas y horas. Tipos: char, int, float, long, long long, short, double, void.

CADENAS DE FORMATO d, i | entero decimal con signo | o | entero octal sin signo | u | entero decimal sin signo | x | entero hexadecimal sin signo (en minsculas) X | entero hexadecimal sin signo (en maysculas) f | Coma flotante en la forma [-]dddd.dddd | e | Coma flotante en la forma [-]d.dddd e[+/-]ddd g | Coma flotante segn el valor | E | Como e pero en maysculas | G | Como g pero en maysculas | c | un carcter | s | cadena de caracteres terminada en '\0' | % | imprime el carcter % | p | puntero |

| | |

SECUENCIA DE ESCAPE \a | Alerta | \b | Espacio atrs | \f | Salto de pgina | \n | Salto de lnea | \r | Retorno de carro | \t | Tabulacin horizontal | \v | Tabulacin vertical | \\ | Barra invertida | \' | Comilla simple | \" | Comillas dobles | \OOO | Visualiza un carcter cuyo cdigo ASCII es OOO en octal | \xHHH | Visualiza un carcter cuyo cdigo ASCII es HHH en hexadecimal Colores de Fondo b = Aguamarina claro 0 = Negro 1 = Azul 2 = Verde 3 = Aguamarina 4 = Rojo 5 = Prpura 6 = Amarillo 7 = Blanco 8 = Gris 9 = Azul claro Colores de Fuente a = Verde claro c = Rojo claro d = Prpura claro e = Amarillo claro f = Blanco brillante

CONCLUSIONES
La programacin en si nos facilita sus usos con las distintas libreras ya que en ellas encontrramos las herramientas para programar en cualquier mbito de la vida en que se vaya a ocupar la programacin ya que esta contiene desde lo que escribimos comnmente hasta las funciones matemticas ms complejas Cuando usamos funciones llamadas desde librera no es necesario incluir la funcin ni el prototipo dentro de nuestro programa, es decir podemos guardar nuestras funciones de uso habitual en una librera y as no tener enormes cdigos en nuestros programas

Private Sub Command1_Click() If CInt(Txtv1) Mod 2 Then Txtv1 = "" MsgBox ("El valor digitado es un numero impar") Else MsgBox ("El valor digitado es un numero par") End If End Sub

BIBLIOGRAFIAS http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C http://programandoenc.over-blog.es/article-29441001.html

You might also like