Glibc
09 04 2008
En este pequeño post haré una pequeña introducción sobre la librería Glibc. Aunque sobradamente conocida su estudio en la mayoría de los casos es muy superficial. Tener al menos una visión global de las rutinas que implementa esta librería desarrollada por GNU es básica en muchos entornos de programación.
Empecemos por el principio y por lo más obvio (es decir, las perogrulladas). Glibc es una librería C que proporciona al lenguaje rutinas básicas de la que este carece. Rutinas para, por ejemplo, la manipulación de cadenas, operaciones de entrada y salida, administración de memoria, búsqueda en directorios y un largo etcétera. Glibc es quizá la librería más importantes en sistemas GNU/Linux - GNU/Hurd y una de las de mayor tamaño. De hecho el compilador gcc agrega por defecto está librería a la hora de iniciar la compilación y enlace de código. glibc significa GNU C Library y contiene todas las librerías especificadas por el estándar ANSI C además de características adicionales especificas de POSIX y otras derivadas de sistemas UNIX y también algunas específicas de sistemas GNU, claro.
Glibc como cualquier otra librería empleada en programas C realmente consiste en 2 partes: ficheros de cabeceras que definen tipos, macros y declaran variables y funciones; y la librería real o archivo que contiene las definiciones de las variables y funciones.
En sistemas GNU/Linux los ficheros de cabecera con todas estas declaraciones se encuentran en /usr/include mientras que la librería en sí está en /lib bajo el nombre libc-{numero-version}.so (libc-2.3.6.so en mi máquina).
Recuerda que en C, una declaración solamente proporciona información de que una función o variable existe y le asigna un tipo. Para una declaración de una función, nos puede dar además información sobre los tipos de sus argumentos. El propósito de las declaraciones es permitir que el compilador procese correctamente referencias a funciones o variables declaradas. Una definición, sin embargo, asigna espacio de almacenamiento para una variable o dice que hace una función.
Para usar las facilidades que nos proporciona librería GNU C, debes asegurarte que las fuentes de tu programa incluyen los archivos de cabecera correctos. De esta manera el compilador tendrá las declaraciones adecuadas y podrá procesar correctamente las referencias a ellas. Una vez que el programa haya sido compilado, el enlazador resolverá estas referencias proporcionadas por el archivo que contiene la librería.
Los archivos de cabecera son incluidos en las fuentes del programa mediante la directiva de preprocesador #include. El lenguaje C soporta dos tipos de directiva, la primera,
#include "header"
típicamente usada para incluir ficheros de cabecera escritos por ti mismo; esto contendrá definiciones y declaraciones describiendo interfaces entre las diferentes partes de una aplicación. Por el contrario,
#include <file.h>
Se emplea para incluir archivos de cabecera que contienen definiciones y declaraciones de una librería estándar. Esta librería normalmente ha sido instalada por el administrador del sistema. Deberías emplear esta segunda forma para añadir los archivos de cabecera de la librería C.
La primera forma buscará la librería en el directorio local, si no se especifica una ruta; y la segunda buscará el fichero de cabecera en el directorio marcado para tal fin dentro del sistema (/lib).
Comentarios :
No hay comentarios »
Empecemos por el principio y por lo más obvio (es decir, las perogrulladas). Glibc es una librería C que proporciona al lenguaje rutinas básicas de la que este carece. Rutinas para, por ejemplo, la manipulación de cadenas, operaciones de entrada y salida, administración de memoria, búsqueda en directorios y un largo etcétera. Glibc es quizá la librería más importantes en sistemas GNU/Linux - GNU/Hurd y una de las de mayor tamaño. De hecho el compilador gcc agrega por defecto está librería a la hora de iniciar la compilación y enlace de código. glibc significa GNU C Library y contiene todas las librerías especificadas por el estándar ANSI C además de características adicionales especificas de POSIX y otras derivadas de sistemas UNIX y también algunas específicas de sistemas GNU, claro.
Glibc como cualquier otra librería empleada en programas C realmente consiste en 2 partes: ficheros de cabeceras que definen tipos, macros y declaran variables y funciones; y la librería real o archivo que contiene las definiciones de las variables y funciones.
En sistemas GNU/Linux los ficheros de cabecera con todas estas declaraciones se encuentran en /usr/include mientras que la librería en sí está en /lib bajo el nombre libc-{numero-version}.so (libc-2.3.6.so en mi máquina).
Recuerda que en C, una declaración solamente proporciona información de que una función o variable existe y le asigna un tipo. Para una declaración de una función, nos puede dar además información sobre los tipos de sus argumentos. El propósito de las declaraciones es permitir que el compilador procese correctamente referencias a funciones o variables declaradas. Una definición, sin embargo, asigna espacio de almacenamiento para una variable o dice que hace una función.
Para usar las facilidades que nos proporciona librería GNU C, debes asegurarte que las fuentes de tu programa incluyen los archivos de cabecera correctos. De esta manera el compilador tendrá las declaraciones adecuadas y podrá procesar correctamente las referencias a ellas. Una vez que el programa haya sido compilado, el enlazador resolverá estas referencias proporcionadas por el archivo que contiene la librería.
Los archivos de cabecera son incluidos en las fuentes del programa mediante la directiva de preprocesador #include. El lenguaje C soporta dos tipos de directiva, la primera,
#include "header"
típicamente usada para incluir ficheros de cabecera escritos por ti mismo; esto contendrá definiciones y declaraciones describiendo interfaces entre las diferentes partes de una aplicación. Por el contrario,
#include <file.h>
Se emplea para incluir archivos de cabecera que contienen definiciones y declaraciones de una librería estándar. Esta librería normalmente ha sido instalada por el administrador del sistema. Deberías emplear esta segunda forma para añadir los archivos de cabecera de la librería C.
La primera forma buscará la librería en el directorio local, si no se especifica una ruta; y la segunda buscará el fichero de cabecera en el directorio marcado para tal fin dentro del sistema (/lib).
Categorías : Programación
Referencias : No hay referencias »



Referencias
No hay referencias