Langkah terakhir dalam membuat file eksekutabel adalah menggunakan gcc untuk me”link” file-file objek satu sama lain dan mengisi pengalamatan fungsi eksternal yang hilang. Untuk me”link” file-file objek ini satu sama lain, dapat kita lakukan dengan sederhana dengan baris perintah :
gcc main.o hello_fn.o -o hello
Disini kita tidak membutuhkan opsi -Wall
, karena file-file sumber individual telah berhasil dikompilasi ke kode objek. Sekali file sumber telah dikompilasi, maka sudah jelas apakah proses linking-nya akan sukses atau gagal. (Dan hanya akan gagal jika ada referensi yang tidak dapat ditemukan)
Untuk melakukan linking, gcc
menggunakan linker ld
, yang merupakan program terpisah. Dalam sistem GNU, yang digunakan adalah GNU ld. Sistem lain dapat juga menggunakan GNU linker dengan GCC, atau menggunakan linker mereka sendiri. Lebih jauh tentang linker ini akan didiskusikan di bagian yang lain. Dengan menjalankan linker, gcc membuat file eksekutabel dari file-file objek.
File hasil tersebut dapat dijalankan seperti contoh :
$ ./hello Hello, world!
Hasilnya sama dengan keluaran program yang menggunakan satu file sumber tunggal di bagian sebelumnya.
Bersambung ..
Serial Sebelumnya
Leave a Reply