08.11.2014 Views

c_kitap

c_kitap

c_kitap

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

C ve Sistem Programcıları Derneği - C Ders Notları - Necati Ergin<br />

#include <br />

#defineISIM1<br />

int main()<br />

{<br />

#ifdef ISIM1<br />

printf("bu yazi ekranda cikacak!\n");<br />

#endif<br />

#ifndef ISIM1<br />

printf("bu yazi ekranda cikmayacak!\n");<br />

#endif<br />

return 0;<br />

}<br />

#error Önişlemci Komutu<br />

#error önişlemci komutu koşullu derlemede kullanılır.<br />

Önişlemci program bu komut ile karşılaştığında derleme işlemini daha önişleme<br />

aşamasında sonlandırır. Kullanımı aşağıdaki gibidir:<br />

#error yazı<br />

error önişlemci komutunun yanında -boşluk karakteri ile ayrılmış- bir hata iletisi yer alır.<br />

Önişlemci #error komutunu görünce bu hata iletisini ekrana yazarak derleme işlemine<br />

son verir. Hata yazısının ekranda nasıl gösterileceği derleyiciye göre değişebilir.<br />

#ifndef __STDC__<br />

#error Bu program yalnızca C derleyicisinde derlenir.<br />

#endif<br />

Yukarıdaki örnekte #ifndef komutu ile, derleme işlemini yapacak derleyicinin standart C<br />

derleyicisi olup olmadığı sınanıyor, derleyici eğer standart C derleyicisi değil ise derleme<br />

işlemi önişlemci aşamasında sonlandırılıyor. Derleme işlemi sonlandırıldığında ekrana:<br />

Bu program yalnızca C derleyicisinde derlenir.<br />

yazısı yazdırılır.<br />

#if UINT_MAX < 65535<br />

#error unsigned int turu yeterli buyuklukte degil<br />

#endif<br />

Yazılan programın int türünün 2 byte dan daha küçük olan bir sistem için derlenmeye<br />

çalışılması durumunda ekrana<br />

Error directive: unsigned int turu yeterli buyuklukte degil<br />

Biçiminde bir yazı yazdırılarak derleme işlemine son verilir.<br />

#undef Önişlemci Komutu<br />

Bir simgesel değişmezin ilki ile özdeş olmayan bir biçimde ikinci kez tanımlanması<br />

tanımsız davranıştır (undefined behaviour).<br />

Örneğin aşağıdaki gibi bir tanımlama işlemi yanlıştır:<br />

#define MAX 100<br />

#define MAX 200<br />

498

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!