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