GNU/Linux >> Belajar Linux >  >> Linux

UNIX ar Contoh:Cara Membuat, Melihat, Mengekstrak, Memodifikasi File Arsip C (*.a)

ar adalah alat arsip yang digunakan untuk menggabungkan objek untuk membuat file arsip dengan ekstensi .a, juga dikenal sebagai perpustakaan.

Pada artikel ini, mari kita bahas tentang cara membuat perpustakaan statis yang ditentukan pengguna dalam pemrograman C menggunakan utilitas "ar". Contoh menunjukkan cara membuat, mengekstrak, dan memodifikasi arsip menggunakan perintah ar Linux.

Untuk mendemonstrasikan pembuatan library statis, mari kita buat dua program C — penambahan.c dan multiplication.c

Menggunakan gcc, kode objek untuk program ini diperoleh, dan perpustakaan statis libarith.a dibuat dari dua objek ini.

1. Buat Dua Contoh Program C

Buat program tambahan.c seperti yang ditunjukkan di bawah ini.

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

Buat program multiplication.c seperti gambar di bawah ini.

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

Beberapa waktu yang lalu kita telah membahas tentang dasar penulisan program C menggunakan contoh C hello world.

2. Kompilasi Program dan Dapatkan Kode Objek

Gunakan opsi -c untuk mengkompilasi kedua program c. Menggunakan opsi -c akan membuat file .o yang sesuai.

$ gcc -c addition.c

$ gcc -c multiplication.c

Sekarang, direktori kerja saat ini berisi file .c dan .o seperti yang ditunjukkan di bawah ini.

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

3. Buat Pustaka Statis Program C menggunakan utilitas ar

Sekarang buat static library “libarith.a” dengan file objek tambahan dan file objek perkalian sebagai berikut,

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

4. Tulis program C untuk Menggunakan Library libarith.a

File library libarith.a sekarang siap digunakan. Contoh berikut menunjukkan cara menulis contoh program C dengan file header untuk menggunakan pustaka statis libarith.a.

Buat header.h :

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

Buat contoh.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);
}

Catatan:Cara Debug Program C menggunakan gdb dalam 5 Langkah Sederhana memberikan petunjuk langkah demi langkah untuk men-debug kode C Anda.

Kompilasi example.c :

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

Opsi -L menginstruksikan kompiler untuk mencari di direktori /home/guest untuk file library. Dari direktori ini, compiler mengambil file library libarith, mengompilasinya dengan program example.c.

Metode lain untuk Kompilasi example.c :

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

Jalankan contoh yang dapat dieksekusi :

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

5. Lihat File Objek dalam Arsip Menggunakan Perintah ar, opsi t

Untuk membuat daftar file objek yang tersedia di libarith.a:

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

Opsi dalam perintah ar mirip dengan perintah tar.

6. Ekstrak File Objek dari Arsip Menggunakan ar Command, opsi x

Anda dapat mengekstrak file objek yang tersedia dalam arsip sebagai berikut.

$ mkdir object

$ cp libarith.a object/

$ cd object

$ ar x libarith.a

$ ls *.o
addition.o
multiplication.o

7. Tambahkan File Objek ke dalam Arsip yang Ada Menggunakan ar, opsi r

Mari kita asumsikan bahwa Anda telah membuat file objek lain bernama subtraction.o

Perintah berikut memperluas file library libarith.a, dengan memasukkan objek subtraction.o seperti yang ditunjukkan di bawah ini.

$ ar r libarith.a subtraction.o 

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

Saat memasukkan file .o, itu sudah ada di arsip, itu akan diganti. Tanpa memeriksa penggantian, objek dapat ditambahkan ke akhir arsip dengan menggunakan opsi -q.

8. Menghapus Anggota Arsip Tertentu Menggunakan ar, opsi d

Untuk menghapus anggota arsip tertentu dari file perpustakaan, lakukan hal berikut.

$ ar d libarith.a addition.o

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

Linux
  1. Cara mengekstrak file dari arsip paket Debian DEB

  2. Cara Unzip File di Linux (dengan Contoh)

  3. Cara Membuat File Dengan Ukuran Tertentu Di Linux

  1. Contoh cpio Linux:Cara Membuat dan Mengekstrak Arsip cpio (dan arsip tar)

  2. Bagaimana Cara Menyalin File di Linux dan Unix? Contoh Perintah 10 cp

  3. Bagaimana cara membuat arsip tar dipecah menjadi, atau mencakup, banyak file?

  1. Cara Melihat Isi File Terkompresi di Linux

  2. Cara mengekstrak file .gz dan .tar.gz di Linux

  3. Bagaimana Cara Membuat, Mengekstrak, atau Membuka file RAR di Linux?