Buscar

3.4. Uso de una biblioteca estática con GCC

download PDF

Las bibliotecas estáticas están disponibles como archivos que contienen ficheros objeto. Después de enlazarlas, pasan a formar parte del archivo ejecutable resultante.

Nota

Red Hat desaconseja el uso de enlaces estáticos por razones de seguridad. Consulte Sección 3.2, “Enlace estático y dinámico”. Utilice el enlazado estático sólo cuando sea necesario, especialmente contra las bibliotecas proporcionadas por Red Hat.

Requisitos previos

Nota

La mayoría de las bibliotecas que forman parte de Red Hat Enterprise Linux están soportadas sólo para el enlazado dinámico. Los pasos siguientes sólo funcionan para las bibliotecas que están not habilitadas para el enlace dinámico. Vea Sección 3.2, “Enlace estático y dinámico”.

Procedimiento

Para enlazar un programa a partir de los archivos fuente y objeto, añadiendo una biblioteca enlazada estáticamente foo, que se encuentra como un archivo libfoo.a:

  1. Cambie al directorio que contiene su código.
  2. Compilar los archivos fuente del programa con las cabeceras de la biblioteca foo:

    $ gcc ... -Iheader_path -c ...

    Sustituya header_path por una ruta a un directorio que contenga los archivos de cabecera de la biblioteca foo.

  3. Enlaza el programa con la biblioteca foo:

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

    Sustituya library_path por una ruta a un directorio que contenga el archivo libfoo.a.

  4. Para ejecutar el programa más tarde, simplemente:

    $ ./programa
Atención

La opción de GCC -static relacionada con el enlazado estático prohíbe todo el enlazado dinámico. En su lugar, utilice las opciones -Wl,-Bstatic y -Wl,-Bdynamic para controlar el comportamiento del enlazador con mayor precisión. Véase Sección 3.6, “Uso de bibliotecas estáticas y dinámicas con 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.