GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di UNIX ar:come creare, visualizzare, estrarre, modificare file di archivio C (*.a)

ar è uno strumento di archiviazione utilizzato per combinare oggetti per creare un file di archivio con estensione .a, noto anche come libreria.

In questo articolo, discutiamo su come creare una libreria statica definita dall'utente nella programmazione C utilizzando l'utilità "ar". Gli esempi mostrano come creare, estrarre e modificare gli archivi utilizzando il comando Linux ar.

Per dimostrare la creazione della libreria statica, creiamo due programmi C:addizione.ce moltiplicazione.c

Usando gcc, si ottiene il codice oggetto per questi programmi e la libreria statica libarith.a viene creata da questi due oggetti.

1. Crea due programmi C di esempio

Crea il programma addizione.c come mostrato di seguito.

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

Crea il programma multiplication.c come mostrato di seguito.

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

Qualche tempo fa abbiamo discusso dei fondamenti della scrittura del programma C usando l'esempio del mondo C hello.

2. Compila i programmi e ottieni i codici oggetto

Usa l'opzione -c per compilare entrambi i programmi c. L'uso dell'opzione -c creerà i file .o corrispondenti.

$ gcc -c addition.c

$ gcc -c multiplication.c

Ora, la directory di lavoro corrente contiene entrambi i file .ce .o come mostrato di seguito.

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

3. Crea la libreria statica del programma C usando l'utilità ar

Ora crea la libreria statica "libarith.a" con il file oggetto di addizione e il file oggetto di moltiplicazione come segue,

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

4. Scrivi il programma C per utilizzare la libreria libarith.a

Il file della libreria libarith.a è ora pronto per l'uso. L'esempio seguente indica come scrivere un programma C di esempio con il file di intestazione per utilizzare la libreria statica libarith.a.

Crea header.h :

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

Crea esempio.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:come eseguire il debug del programma C utilizzando gdb in 5 semplici passaggi fornisce istruzioni dettagliate sul debug del codice C.

Compila esempio.c :

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

L'opzione -L indica al compilatore di cercare nella directory /home/guest i file di libreria. Da questa directory, il compilatore prende il file della libreria libarith, lo compila con il programma esempio.c.

Un altro metodo per compilare esempio.c :

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

Esegui l'eseguibile di esempio:

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

5. Visualizza i file oggetto in un archivio Usando il comando ar, opzione t

Per elencare i file oggetto disponibili in libarith.a:

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

Le opzioni nel comando ar sono simili al comando tar.

6. Estrai file oggetto da un archivio usando il comando ar, opzione x

Puoi estrarre i file oggetto disponibili in un archivio come segue.

$ mkdir object

$ cp libarith.a object/

$ cd object

$ ar x libarith.a

$ ls *.o
addition.o
multiplication.o

7. Aggiungi un file oggetto nell'archivio esistente usando ar, opzione r

Supponiamo di aver creato un altro file oggetto chiamato sottrazione.o

Il comando seguente estende il file della libreria libarith.a, inserendo l'oggetto subtraction.o come mostrato di seguito.

$ ar r libarith.a subtraction.o 

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

Durante l'inserimento di un file .o, esso esiste già nell'archivio, verrebbe sostituito. Senza controllare le sostituzioni, gli oggetti possono essere aggiunti alla fine dell'archivio usando l'opzione -q.

8. Elimina un membro specifico dell'archivio utilizzando ar, opzione d

Per eliminare un membro specifico dell'archivio dal file della libreria, procedi come segue.

$ ar d libarith.a addition.o

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

Linux
  1. Come decomprimere i file in Linux (con esempi)

  2. Come creare file di una certa dimensione in Linux

  3. Come estrarre i file .gz e .tar.gz in Linux

  4. Come archiviare e comprimere file su Linux

  5. 10 esempi di comandi Tar in Linux per creare ed estrarre archivi

Come creare o aggiungere un indice in MySQL con esempi

Come installare Rclone in Linux e Unix

Come visualizzare e creare file e directory nascosti in Linux

Comando tar di Linux – Come comprimere file in Linux

Come creare un archivio in cPanel?

Come visualizzare ed estrarre file da pacchetti rpm, deb, depot e msi