From: Caglar Akyuz (caglar@bilkon-kontrol.com.tr)
Date: Tue 22 May 2007 - 17:54:24 EEST
dreamer1983 wrote:
>Merhaba Arkadaslar,
Merhaba,
> "header.c" "1.h" yi include ediyor, "1.c" "2.h" yi include ediyor ve 2.c
> deki TwoFunction() fonsiyonunu çağırabiliyorum(2.h de TwoFunction()
> declerationı bulunuyor).
> "header.c" "1.h" yi include ediyor, "1.c" "2.h" yi include ediyor,"2.c"
> "3.h" yi include ediyor ve 3.c deki TreeFunction() fonsiyonunu
> çağırabiliyorum.(3.h de TreeFunction() declerationı bulunmuyor).
Linker programında sadece bir tane "TreeFunction" deklerasyonu olduğu
için header için de olmasada link edebiliyor. O yüzden çağırabiliyorsun.
Ama yine de yakınmıştır bu durumdan linker...
Değişkenlerini header içinde deklere edersen include ettiğin her yerde
"multiple declerations" tarzı bir hata alırsın. O yüzden değişkenlerini
sadece bir kez *.c dosyasında tanımlayıp, ilgili *.h dosyasında extern
etmek daha yakışıklı olur :)
Ayrıca derleyici bunlar için sana hata ve uyarı vermiştir.
Saygılarımla
Caglar Akyuz
_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama