Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Alt programlar çok büyük ve karmaşık işlemler yaptığında, bu şekilde derleme yapmak pek<br />
sağlıklı değildir. Bunun yerine alt programların bulunduğu dosyalar bir kez -c seçeneği ile<br />
derlendiğinde üretilen obj uzantılı dosyalar başka programlar tarafından kullanılabilir.<br />
Şöyleki:<br />
C:\TC> tcc -c topla.c<br />
C:\TC> tcc -c fark.c<br />
C:\TC> tcc -c carp.c<br />
C:\TC> tcc -c bol.c<br />
Ana programla beraber derleme işlemi bize aynı sonucu verecektir:<br />
C:\TC> tcc ana.c topla.obj fark.obj carp.obj bol.obj<br />
Bu sayede ana programda bir değişiklik yapılsa bile alt programrın bir daha derlenmesine<br />
gerek kalmaz. Örneğin ana program şu şekilde bir satır ekleyelim:<br />
/* ana.c: Ana program */<br />
#include <br />
int topla(int, int);<br />
int fark(int, int);<br />
int carp(int, int);<br />
int bol(int, int);<br />
int main()<br />
{<br />
int x=33, y=22;<br />
printf("topla(%d,%d) = %d\n",x,y,topla(x,y));<br />
printf(" fark(%d,%d) = %d\n",x,y,fark(x,y));<br />
printf(" carp(%d,%d) = %d\n",x,y,carp(x,y));<br />
printf(" bol(%d,%d) = %d\n",x,y,bol(x,y));<br />
printf("<br />
ortalama = %f\n",topla(x,y)/2.0);<br />
}<br />
return 0;<br />
Derleme aşağıdaki gibi yapıldığında:<br />
C:\TC> tcc ana.c topla.obj fark.obj carp.obj bol.obj<br />
program çıktısı şöyle olur:<br />
C:\TC> ana<br />
topla(33,22) = 55<br />
fark(33,22) = 11<br />
carp(33,22) = 726<br />
bol(33,22) = 1<br />
ortalama = 27.500000<br />
C:\TC><br />
Özetle bir fonksiyon birkez derlenip ona ait obj dosyası üretildiğinde, artık o kod bütün<br />
programlar tarafından kullanılabilir demektir. Aşağıdaki derleme işlemi ile obj dosyaları ana<br />
programa bağlanmıştır diyebiliriz:<br />
C:\TC> tcc ana.c topla.obj fark.obj carp.obj bol.obj<br />
Bu durum Şekil 22.3 de tasvir edilmiştir.