Está en la página 1de 3

Guía sobre biblioteca de Linux

Carlos Geovanny Escobar Portillo

Creación de los archivos funciones.c, lbfunciones.h, principal.c

1. Con los archivos anteriores, ejecuta los pasos necesarios para crear la biblioteca estática
y la biblioteca compartida (dinámica).

Pasos para crear la biblioteca estática:


1. gcc -static -c funciones.c -o funciones.o //se crea el archivo objeto de funciones
2. ar -rsc libfunciones.a funciones.o //se crea la biblioteca con el archivo objeto
funciones
3. gcc principal.c -L. -lfunciones
<o puedes ejecutar el siguiente comando>
gcc -o ejecutable principal.c -L. -lfunciones // se compila y se crea el ejecutable
● ¿Cuál es la utilidad de la herramienta ar? Es un programa que nos permite crear, modificar y
extraer archivos. Mantiene un grupo de archivos como un único archivo de fichero.
● ¿Qué indican los parámetros -rsc? La letra “r” se ocupa para insertar con reemplazamiento, la
letra “s” se ocupa para crear un índice de un archivo objeto para guardar en el archivo; la letra
“c” crea el archivo.
● ¿Qué hace el parámetro -L.? especifica la ruta hacia el directorio donde se encuentran los
archivos de biblioteca con el código objeto de las funciones referenciadas en el programa
fuente.
● ¿Qué hace el parámetro -lfunciones? Nos sirve para enlazar la librería.
● ¿Por qué si mi biblioteca se llama libfunciones sólo debo escribir -lfunciones? Porque
funciones es nuestro archivo de librerías y libfunciones el de biblioteca.
● ¿Si ejecutas el comando: objdump funciones.o -S qué sucede? Despliega información de un
objeto.

Crear una biblioteca dinámica.

1. COMPILAR LA BIBLIOTECA FUNCIONES gcc -c funciones.c


2.GENERAR LA BIBLIOTECA DINÁMICA ld -o libfunciones.so funciones.o -shared

3.COMPILAR EL PROGRAMA PRINCIPAL USANDO LA BIBLIOTECA DINÁMICA


(modificar el programa principal para que incluya la biblioteca dinámica, no estática)
gcc -o principal principal.c -I. -L. -Bdynamic -lfunciones

4.intentar ejecutar ./principal export LD_LIBRARY_PATH=.

Intentar ejecutar ./principal

También podría gustarte