Red Hat Training

A Red Hat training course is available for RHEL 8

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

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