Sunday, January 6, 2013

seri Bahasa C : Compile bahasa C dengan GCC ...(1)


Menulis dan meng-compile bahasa C pada sistem operasi Linux tidak persis sama ketika menggunakan IDE yang berjalan pada windows, misalnya dengan borland dll.

berikut ini gambaran sedikit perbedaan tersebut. Saya membuat program sederhana untuk menghitung nilai sin.

#include <stdio.h>
#include <math.h>

main () {
float degree, rad, sinus;

printf ("sinus dari : ");
   scanf ("%f",&degree);

   rad = 0.01745*degree;
   sinus = sin(rad);

printf ("adalah = %.2f \n",sinus); }

Dari sisi bahasa tidak ada perbedaan, masalah sering timbul ketika melakukan kompilasi dengan GCC (Gnu C Compiler). Cara yang dilakukan untuk meng-compile dengan GCC adalah :

gcc -o program program.c

program sederhana diatas menggunakan library math (file header math.h), maka ketika meng-compile dengan cara biasa maka akan ada kesalahan

 $ gcc -o sinus sinus.c
/tmp/ccSm1bxV.o: In function `main':
sinus.c:(.text+0x43): undefined reference to `sin'
collect2: ld returned 1 exit status

ini terjadi karena library math belum terhubung, untuk menghubungkannya maka tambahkan opsi -lm pada bagian ahir :

$ gcc -o sinus sinus.c -lm



sumber Gambar : http://www.fsf.org/blogs/community/happy-birthday-gcc