Buscar

3.3. Uso de una biblioteca con GCC

download PDF

Una biblioteca es un paquete de código que puede reutilizarse en su programa. Una biblioteca en C o C está formada por dos partes:

  • El código de la biblioteca
  • Archivos de cabecera

Compilación de código que utiliza una biblioteca

Los archivos de cabecera describen la interfaz de la biblioteca: las funciones y variables disponibles en la biblioteca. La información de los archivos de cabecera es necesaria para compilar el código.

Normalmente, los archivos de cabecera de una biblioteca se colocan en un directorio diferente al del código de su aplicación. Para indicar a GCC dónde están los archivos de cabecera, utilice la opción -I:

$ gcc ... -Iinclude_path...

Sustituya include_path por la ruta real del directorio de archivos de cabecera.

La opción -I puede utilizarse varias veces para añadir varios directorios con archivos de cabecera. Al buscar un archivo de cabecera, estos directorios se buscan en el orden en que aparecen en las opciones de -I.

Vinculación de código que utiliza una biblioteca

Al enlazar el archivo ejecutable, deben estar disponibles tanto el código objeto de su aplicación como el código binario de la biblioteca. El código de las bibliotecas estáticas y dinámicas está presente en diferentes formas:

  • Las bibliotecas estáticas están disponibles como ficheros de archivo. Contienen un grupo de archivos de objetos. El archivo tiene una extensión de nombre de archivo .a.
  • Las bibliotecas dinámicas están disponibles como objetos compartidos. Son una forma de archivo ejecutable. Un objeto compartido tiene una extensión de nombre de archivo .so.

Para indicar a GCC dónde están los archivos o ficheros de objetos compartidos de una biblioteca, utilice la opción -L:

$ gcc ... -Llibrary_path -lfoo...

Sustituya library_path por la ruta real del directorio de la biblioteca.

La opción -L puede utilizarse varias veces para añadir varios directorios. Al buscar una biblioteca, estos directorios se buscan en el orden de sus opciones -L.

El orden de las opciones es importante: GCC no puede enlazar contra una biblioteca foo a menos que conozca el directorio con esta biblioteca. Por lo tanto, utilice las opciones -L para especificar los directorios de las bibliotecas antes de utilizar las opciones -l para enlazar con las bibliotecas.

Compilar y enlazar el código que utiliza una biblioteca en un solo paso

Cuando la situación permita compilar y enlazar el código en un solo comando gcc, utilice las opciones para las dos situaciones mencionadas anteriormente a la vez.

Recursos adicionales

  • Uso de la colección de compiladores de GNU (GCC)
  • Uso de la colección de compiladores de GNU (GCC)
Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.