GNU/Linux >> Tutoriels Linux >  >> Linux

UNIX ar Exemples :Comment créer, afficher, extraire, modifier des fichiers d'archive C (*.a)

ar est un outil d'archivage utilisé pour combiner des objets afin de créer un fichier d'archive avec l'extension .a, également appelée bibliothèque.

Dans cet article, discutons de la création d'une bibliothèque statique définie par l'utilisateur en programmation C à l'aide de l'utilitaire "ar". Les exemples montrent comment créer, extraire et modifier les archives à l'aide de la commande Linux ar.

Pour démontrer la création de la bibliothèque statique, créons deux programmes C - addition.c et multiplication.c

En utilisant gcc, le code objet de ces programmes est obtenu et la bibliothèque statique libarith.a est créée à partir de ces deux objets.

1. Créer deux exemples de programmes C

Créez le programme addition.c comme indiqué ci-dessous.

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

Créez le programme multiplication.c comme indiqué ci-dessous.

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

Il y a quelque temps, nous avons discuté des principes fondamentaux de l'écriture d'un programme C en utilisant l'exemple C hello world.

2. Compiler les programmes et obtenir les codes d'objet

Utilisez l'option -c pour compiler à la fois le programme c. L'utilisation de l'option -c créera les fichiers .o correspondants.

$ gcc -c addition.c

$ gcc -c multiplication.c

Maintenant, le répertoire de travail actuel contient à la fois les fichiers .c et .o comme indiqué ci-dessous.

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

3. Créez la bibliothèque statique du programme C à l'aide de l'utilitaire ar

Créez maintenant la bibliothèque statique "libarith.a" avec le fichier objet d'addition et le fichier objet de multiplication comme suit,

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

4. Écrire un programme C pour utiliser la bibliothèque libarith.a

Le fichier de bibliothèque libarith.a est maintenant prêt à être utilisé. L'exemple suivant indique comment écrire un exemple de programme C avec le fichier d'en-tête pour utiliser la bibliothèque statique libarith.a.

Créer header.h :

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

Créer exemple.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);
}

Remarque :Comment déboguer le programme C à l'aide de gdb en 5 étapes simples fournit des instructions étape par étape sur le débogage de votre code C.

Compiler exemple.c :

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

L'option -L indique au compilateur de rechercher dans le répertoire /home/guest les fichiers de bibliothèque. A partir de ce répertoire, le compilateur prend le fichier de bibliothèque libarith, le compile avec le programme example.c.

Une autre méthode pour compiler example.c :

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

Exécuter l'exemple d'exécutable :

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

5. Afficher les fichiers d'objets dans une archive à l'aide de la commande ar, option t

Pour lister les fichiers objets disponibles dans le libarith.a :

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

Les options de la commande ar sont similaires à la commande tar.

6. Extraire des fichiers objets d'une archive à l'aide de la commande ar, option x

Vous pouvez extraire les fichiers objets disponibles dans une archive comme suit.

$ mkdir object

$ cp libarith.a object/

$ cd object

$ ar x libarith.a

$ ls *.o
addition.o
multiplication.o

7. Ajouter un fichier objet dans l'archive existante à l'aide de ar, option r

Supposons que vous ayez créé un autre fichier objet appelé subtraction.o

La commande suivante étend le fichier de bibliothèque libarith.a, en insérant l'objet subtraction.o comme indiqué ci-dessous.

$ ar r libarith.a subtraction.o 

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

Lors de l'insertion d'un fichier .o, s'il existe déjà dans l'archive, il serait remplacé. Sans vérifier les remplacements, les objets peuvent être ajoutés à la fin de l'archive en utilisant l'option -q.

8. Supprimer un membre d'archive spécifique à l'aide de ar, option d

Pour supprimer un membre d'archive spécifique du fichier de bibliothèque, procédez comme suit.

$ ar d libarith.a addition.o

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

Linux
  1. Comment afficher le contenu des fichiers compressés sous Linux

  2. Comment décompresser des fichiers sous Linux (avec exemples)

  3. Comment créer des fichiers d'une certaine taille sous Linux

  4. 10 exemples de commandes Tar sous Linux pour créer et extraire des archives

  5. Comment copier des fichiers sous Linux et Unix ? 10 exemples de commandes cp

Comment créer ou ajouter un index dans MySQL avec des exemples

Comment installer Rclone sous Linux et Unix

Comment afficher et créer des fichiers et des répertoires cachés sous Linux

Commande tar Linux - Comment compresser des fichiers sous Linux

Comment créer une archive dans cPanel ?

Comment afficher et extraire des fichiers à partir de packages rpm, deb, depot et msi