Buscar

4.4. Creación de bibliotecas estáticas con GCC y ar

download PDF

La creación de bibliotecas para la vinculación estática es posible mediante la conversión de los archivos de objetos en un tipo especial de archivo.

Nota

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

Requisitos previos

Procedimiento

  1. Crear archivos de objetos intermedios con GCC.

    $ gcc -c source_file.c...

    Añada más archivos fuente si es necesario. Los archivos objeto resultantes comparten el nombre del archivo pero utilizan la extensión de nombre de archivo .o.

  2. Convierta los ficheros objeto en una biblioteca estática (archivo) utilizando la herramienta ar del paquete binutils.

    $ ar rcs libfoo.a source_file.o...

    Se crea el archivo libfoo.a.

  3. Utilice el comando nm para inspeccionar el archivo resultante:

    $ nm libfoo.a
  4. Copie el archivo de la biblioteca estática en el directorio correspondiente.
  5. Al enlazar con la biblioteca, GCC reconocerá automáticamente, a partir de la extensión del nombre del archivo .a, que la biblioteca es un archivo para el enlace estático.

    $ gcc ... -lfoo...

Recursos adicionales

  • Página del manual de Linux para ar(1):

    $ man ar
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.