Red Hat Training

A Red Hat training course is available for RHEL 8

4.3. Creación de bibliotecas dinámicas con GCC

Las bibliotecas enlazadas dinámicamente (objetos compartidos) permiten:

  • conservación de recursos mediante la reutilización de códigos
  • mayor seguridad al facilitar la actualización del código de la biblioteca

Siga estos pasos para construir e instalar una biblioteca dinámica desde el código fuente.

Requisitos previos

Procedimiento

  1. Cambie al directorio con las fuentes de la biblioteca.
  2. Compile cada archivo fuente en un archivo objeto con la opción de código independiente de la posición -fPIC:

    $ gcc ... -c -fPIC some_file.c...

    Los archivos objeto tienen los mismos nombres de archivo que los del código fuente original, pero su extensión es .o.

  3. Enlaza la biblioteca compartida desde los archivos de objetos:

    $ gcc -shared -o libfoo.so.x.y -Wl,-soname,libfoo.so.x some_file.o ...

    El número de versión mayor utilizado es X y el número de versión menor Y.

  4. Copie el archivo libfoo.so.x.y en una ubicación apropiada, donde el enlazador dinámico del sistema pueda encontrarlo. En Red Hat Enterprise Linux, el directorio para las bibliotecas es /usr/lib64:

    # cp libfoo.so.x.y /usr/lib64

    Tenga en cuenta que necesita permisos de root para manipular los archivos de este directorio.

  5. Crear la estructura de enlaces simbólicos para el mecanismo de soname:

    # ln -s libfoo.so.x.y libfoo.so.x
    # ln -s libfoo.so.x libfoo.so

Recursos adicionales

  • El proyecto de documentación de Linux