GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de UNIX ar:Cómo crear, ver, extraer y modificar archivos C Archive (*.a)

ar es una herramienta de archivo utilizada para combinar objetos para crear un archivo de almacenamiento con extensión .a, también conocido como biblioteca.

En este artículo, analicemos cómo crear una biblioteca estática definida por el usuario en programación C utilizando la utilidad "ar". Los ejemplos muestran cómo crear, extraer y modificar los archivos utilizando el comando ar de Linux.

Para demostrar la creación de bibliotecas estáticas, creemos dos programas en C:adición.c y multiplicación.c

Con gcc, se obtiene el código objeto de estos programas y se crea la biblioteca estática libarith.a a partir de estos dos objetos.

1. Cree dos programas en C de muestra

Cree el programa added.c como se muestra a continuación.

int addition(int a,int b)
{
int result;
result = a + b;
return result;
}

Cree el programa multiplication.c como se muestra a continuación.

int multiplication(int a, int b)
{
int result;
result = a * b;
return result;
}

Hace un tiempo discutimos sobre lo fundamental de escribir un programa C usando el ejemplo de C hello world.

2. Compile los programas y obtenga los códigos de objetos

Utilice la opción -c para compilar el programa c. El uso de la opción -c creará los archivos .o correspondientes.

$ gcc -c addition.c

$ gcc -c multiplication.c

Ahora, el directorio de trabajo actual contiene los archivos .c y .o como se muestra a continuación.

$ ls
addition.c   multiplication.c   addition.o   multiplication.o

3. Cree la biblioteca estática del programa C usando la utilidad ar

Ahora cree la biblioteca estática "libarith.a" con el archivo de objeto de suma y el archivo de objeto de multiplicación de la siguiente manera,

$ ar cr libarith.a addition.o multiplication.o

4. Escriba el programa C para usar la biblioteca libarith.a

El archivo de biblioteca libarith.a ya está listo para su uso. El siguiente ejemplo indica cómo escribir un programa C de muestra con el archivo de encabezado para usar la biblioteca estática libarith.a.

Crear encabezado.h :

#include <stdio.h>
int addition(int a,int b);
int multiplication(int a,int b);

Crear ejemplo.c :

#include "header.h"
int main()
{
int result;
result = addition(1,2);
printf("addition result is : %d\n",result);
result = multiplication(3,2);
printf("multiplication result is :  %d\n",result);
}

Nota:Cómo depurar el programa C usando gdb en 5 pasos simples brinda instrucciones paso a paso sobre cómo depurar su código C.

Compilar ejemplo.c :

$ gcc -Wall example.c -L/home/guest/ -larith -o example

La opción -L indica al compilador que busque en el directorio /home/guest los archivos de la biblioteca. Desde este directorio, el compilador toma el archivo de la biblioteca libarith, lo compila con el programa ejemplo.c.

Otro método para compilar ejemplo.c:

$ gcc -Wall example.c libarith.a -o example

Ejecutar ejecutable de ejemplo:

$ ./example
addition result is : 3
multiplication result is : 6

5. Ver archivos de objetos en un archivo usando el comando ar, opción t

Para enumerar los archivos de objetos disponibles en libarith.a:

$ ar t libarith.a
addition.o
multiplication.o

Las opciones en el comando ar son similares al comando tar.

6. Extraer archivos de objetos de un archivo usando el comando ar, opción x

Puede extraer los archivos de objetos disponibles en un archivo de la siguiente manera.

$ mkdir object

$ cp libarith.a object/

$ cd object

$ ar x libarith.a

$ ls *.o
addition.o
multiplication.o

7. Agregue un archivo de objeto al archivo existente usando ar, opción r

Supongamos que ha creado otro archivo de objeto llamado subtraction.o

El siguiente comando amplía el archivo de biblioteca libarith.a insertando el objeto subtraction.o como se muestra a continuación.

$ ar r libarith.a subtraction.o 

$ ar t libarith.a
addition.o
multiplication.o
subtraction.o

Al insertar un archivo .o, si ya existe en el archivo, sería reemplazado. Sin buscar reemplazos, los objetos se pueden agregar al final del archivo usando la opción -q.

8. Eliminar un miembro de archivo específico usando ar, opción d

Para eliminar un miembro de archivo específico del archivo de la biblioteca, haga lo siguiente.

$ ar d libarith.a addition.o

$ ar t libarith.a
multiplication.o
subtraction.o

Linux
  1. Cómo extraer archivos del archivo de paquetes de Debian DEB

  2. Cómo crear archivos de cierto tamaño en Linux

  3. Ejemplos de Linux cpio:cómo crear y extraer archivos cpio (y archivos tar)

  4. ¿Cómo copiar archivos en Linux y Unix? Ejemplos de comandos de 10 cp

  5. ¿Cómo crear un archivo tar dividido en varios archivos o que los abarque?

Cómo crear o agregar un índice en MySQL con ejemplos

Cómo instalar Rclone en Linux y Unix

Cómo ver y crear archivos y directorios ocultos en Linux

Comando tar de Linux:cómo comprimir archivos en Linux

¿Cómo crear un archivo en cPanel?

Cómo ver y extraer archivos de paquetes rpm, deb, depot y msi