Las librerías estáticas quedan incluidas en el ejecutable, mientras las dinámicas son ficheros externos, con lo que el tamaño de la aplicación (nuestro ejecutable) es mayor en el primer caso que en el segundo.
Las librerías dinámicas son ficheros independientes que pueden ser invocados desde cualquier ejecutable, de modo que su funcionalidad puede ser compartida por varios ejecutables. Esto significa que solo se necesita una copia de cada fichero de librería (.DLLs) en el Sistema.
Las librerias de C se pueden utilizar en C++, aún así C++ dispone de dichas librerias con el nombre un poco cambiado, un ejemplo sería: <stdio.h> libreria de C compatible con C++ por otra parte encontramos <cstdio>, las librerias de C++ no acaban en .h i empiezan con 'c', el resto es el mismo nombre. Nosotros por el estandar deberiamos utilizar las segundas si programamos en C++.
Algunas librerias de C:
Fijaos que acaban todas en .h<assert.h> <float.h> <math.h> <stddef.h> <tgmath.h>
<complex.h> <inttypes.h> <setjmp.h> <stdio.h> <time.h>
<ctype.h> <iso646.h> <signal.h> <stdint.h> <uchar.h>
<errno.h> <limits.h> <stdarg.h> <stdlib.h> <wchar.h>
<fenv.h> <locale.h> <stdbool.h> <string.h> <wctype.h>
Librerias de C++ extraidas de : http://es.wikipedia.org/wiki/Biblioteca_est%C3%A1ndar_de_C%2B%2B
Cabeceras Estándar
Los siguientes archivos contienen las declaraciones de la biblioteca estándar.Contenedores
- <bitset>
- Provee la clase contenedora especializada
std::bitset
, un arreglo de bits. - <deque>
- Provee la plantilla clase contenedora
std::deque
, una cola doblemente enlazada. - <list>
- Provee la plantilla clase contenedora
std::list
, una lista doblemente enlazada. - <map>
- Provee las plantillas clases contenedoras
std::map
ystd::multimap
, un arreglo asociativo y un arreglo asociativo múltiple respectivamente. - <queue>
- Provee la clase adaptadora contenedora
std::queue
, una cola de datos. - <set>
- Provee las plantillas clases contenedoras
std::set
ystd::multiset
, contenedores asociativos ordenados. - <stack>
- Provee la clase adaptadora contenedora
std::stack
, una pila de datos. - <vector>
- Provee la plantilla clase contenedora
std::vector
, un arreglo dinámico.
General
- <algorithm>
- Provee la definición de muchos algoritmos.
- <functional>
- Provee varios objetos funcionales, diseñados para ser utilizados por los algoritmos estándares.
- <iterator>
- Provee clases y plantillas para trabajar con iteradores.
- <locale>
- Provee las clases y plantillas para trabajar con locales.
- <memory>
- Provee facilidades para el manejo de memoria en C++, incluyendo la clase plantilla
std::auto_ptr
. - <stdexcept>
- Contiene las clases estándares de excepción así como
std::logic_error
ystd::runtime_error
, ambas derivadas destd::exception
. - <utility>
- Provee la clase plantilla
std::pair
, para trabajar con pares (tuplas de dos miembros) de objetos.
Strings
- <string>
- Provee las clases y plantillas estándares de C++ para trabajar con cadena de caracteres.
Flujos y Entrada/Salida
- <fstream>
- Provee facilidades para la entrada y salida basada en archivos.
- <ios>
- Provee varios tipos y funciones básicas para la operación de flujos de entrada y salida.
- <iostream>
- Provee los elementos fundamentales para la entrada y salida en C++.
- <iosfwd>
- Provee las declaraciones hacia adelante de varias clases plantillas de E/S.
- <iomanip>
- Provee facilidades para manipular el formateo de salida, así como la base utilizada cuando se formatean enteros y los valores precisión o punto flotante.
- <istream>
- Provee la clase plantilla
std::istream
y otras clases para la entrada de datos. - <ostream>
- Provee la clase plantilla
std::ostream
y otras clases para la salida de datos. - <sstream>
- Provee la clase plantilla
std::sstream
y otras clases para la manipulación de cadena de caracteres. - <streambuf>
Numéricas
- <complex>
- Provee la clase plantilla
std::complex
y funciones asociadas al trabajo con números complejos. - <numeric>
- Provee algoritmos para el procesamiento numérico.
- <valarray>
- Provee la clase plantilla
std::valarray
, una clase arreglo optimizada para el procesamiento numérico.
Soporte del Lenguaje
- <exception>
- Provee varios tipos y funciones relacionadas al manejo de excepciones, incluyendo
std::exception
, la clase base para todas las excepciones arrojadas por la biblioteca estándar. - <limits>
- Provee la clase plantilla
std::numeric_limits
, utilizada para describir las propiedades de los tipos numéricos fundamentales. - <new>
- Provee los operadores
new
ydelete
y otras funciones y tipos que componen los elementos fundamentales para el manejo de memoria en C++. - <typeinfo>
- Provee las facilidades para trabajar con información de tipo en tiempo de ejecución en C++.
Biblioteca estándar de C
Cada cabecera de la biblioteca estándar de C está incluida en la biblioteca estándar de C++ con diferente nombre, generado eliminando la extensión .h y añadiendo una 'c' al inicio, por ejemplo 'time.h' se convierte en 'ctime'. La única diferencia entre estas cabeceras y las cabeceras tradicionales de la biblioteca estándar de C es que es posible que las funciones estén incluidas en el namespace 'std::' (aunque algunos compiladores lo hacen). En el ISO C, las funciones de la biblioteca estándar se pueden implementar por macros, cosa no permitida por el ISO C++.- <cassert>
- <cctype>
- <cerrno>
- <cfloat>
- <climits>
- <cmath>
- <csetjmp>
- <csignal>
- <cstdlib>
- <cstddef>
- <cstdarg>
- <ctime>
- <cstdio>
- <cstring>
- <cwchar>
- <cwctype>
No hay comentarios :
Publicar un comentario