Cara membuat header file C++ metode static library

Pada kesempatan kali ini saya akan memperlihatkan cara membuat file header atau library pada C++ untuk melakukan pemisahan kode program C++ , ada beberapa langkah yang harus dilakukan untuk membuat library pada C++ yaitu :

Membuat header file

Fungsi dari file header adalah sebagai deklarasi beberapa fungsi yang dibuat agar dikenali oleh compiler kalau fungsi tersebut ada.

contoh saya membuat file fungsi.h

int tambah(int a, int b);
int kurang(int a, int b);
int kali(int a, int b);

isi dari file .h atau header hanyalah deklarasi saja tanpa definisi atau isi proses fungsi tersebut

Membuat file definisi cpp

Kemudian barulah membuat file.cpp untuk memberikan definisi pada deklarasi fungsi dari file .h tersebut, atau memberikan kode program proses yang ada pada fungsi tersebut

int tambah(int a, int b) {
    return a + b;
}

int kurang(int a, int b) {
    return a - b;
}

int kali(int a, int b) {
    return a * b;
}

File main yang akan menggunakan library tersebut

Seperti biasa jika ingin menggunakan library tersebut tinggal #include file header library tersebut

#include <iostream>
#include "fungsi.h"

int main() {

    std::cout << tambah(1,2) << std::endl;
    std::cout << kurang(10,3) << std::endl;
    std::cout << kali(5,5) << std::endl;

}

total ada 3 file yaitu :

- fungsi.h
- fungsi.cpp
- main.cpp

Proses compile

Untuk melakukan compile ada beberapa proses yang dilakukan, menggunakan tool yang ada pada terminal linux :

Pertama compile file fungsi.cpp untuk dijadikan file object .o

g++ -c fungsi.cpp -o lib_fungsi.o

Dari file object lib_fungsi.o kita dapat membuat file static library dengan ar

ar rcs lib_fungsi.a lib_fungsi.o

Compile file main.cpp untuk dijadikan file object .o

g++ -c main.cpp -o main.o

Lalu terakhir melakukan compile file main.o dengan melakukan static linking pada library lib_fungsi.a

g++ -o main main.o -L. -l_fungsi

Note nama file lib_fungsi.a lib_fungsi. apapun file library harus diawali dengan prefix lib_ , agar dikenali oleh compiler, itu sebabnya pada options -l_fungsi yang artinya mencari file lib_ dengan akhiran fungsi

Hasil

Hasilnya adalah file executable bernama main, jika dijalankan akan keluar hasilnya :

dzikra@laptop-x240:~/Programing/C++/header_file$ ./main 
3
7
25

Komentar