C/C++

20.4 #if, #elif, #else ve #endif Yönergeleri

20.4   #if, #elif, #else ve #endif Yönergeleri Bu önişlemciler, makro düzeyinde kontrol deyimleridir. Genel kullanım biçimi:

şeklindedir. Burada: #if makrosu if deyimine #elif makrosu else if deyimine #else makrosu else deyimine #endif makrosu if deyiminin sonuna karşılık gelmektedir. Bu makrolar, donanıma veya işletim sistemine uygun olarak değişik makroların tanımlanmasına izin verir. Örneğin: Program 20.6: Kontrol önişlemcilerinin kullanımı

ÇIKTI

Bu program eski DOS işletim siteminde derlenip çalıştırıldığında, 

Devamını Oku…

20.3 #undef Yönergesi

20.3   #undef Yönergesi #define ile tanımlanan bir isim, orjinal tanımlamaları kaldırmaksızın farklı değerler için tekrar tanımlanamaz.

Eğer #define ile tanımlanan bir ifade yeniden tanımlanmak istenirse, #undef önişlemcisi ile önceki tanımlama iptal edildikten sonra #define ile yenisi değiştirilir. Yani:

20.2 #define Yönergesi

20.2   #define Yönergesi Bu önişlemci komutu, kaynak dosyada bir isim yerine başka bir isimin yerleştirilmesini sağlar. Programda kullanılan bu sembolik isimler başta ana program olmak üzere bütün alt programlarda da aynı değere sahiptir. Yani #define önişlemcisi ile tanımlanan her ne olursa olsun, tanımlama bütün fonksiyonlarda kullanılabilir. Bir çeşit genel (global) bildirim gibi davranır. Örneğin: Program 20.3: #define önişlemcisinin kullanımı

  

Devamını Oku…

20.1 #include Yönergesi

20.1   #include Yönergesi Bu önişlemci verilen dosyanın içeriğini, kullanıldığı yerde kaynak dosyasının içine ekler. Çoğunlukla derleyiciye ait komut kütüphanelerinde bulunan fonksiyonların prototiplerinin ve diğer çeşitli tanımlamaların bulunlunduğu (h uzantılı) başlık dosyalarının programa dahil edilmesinde kullanılır[2]. İki tür kullanımı vardır:

veya

Birinci kullanımda dosyanın nerede bulunduğu derleyici için verilen ulaşım yolu ile belirlenir. Bu yol 

Devamını Oku…

C Makroları

Bir C (veya C++) programlama dilinde, program başında diyez (‘#’) işareti ile başlayan satırlar geçekte C (veya C++) diline ait olmayıp ön işlemci dilidir. Bu yüzden derleme işlemleri iki adımda yapılır. Daha ayrıntılı bilgi için bkz: Bölüm 22. Makro bildirimleri veya Yönergeleri (direktive) derleme öncesi komutlarıdır. Bunlar tipik olarak: programları değiştirmek program parçalarını kaynak programında birleştirmek 

Devamını Oku…

19.4 Örnekler(Grafik)

19.4   Örnekler  NOT Buradaki örnek programlar Turbo C’nin editör ortamında derlenmiştir. Program 19.1: Grafik ekranında; bir çizgi, bir çember, bir yay, bir dikdörtgen ve bir elips çizer

ÇIKTI           Program 19.2: outtext, outtextxy, setcolor, settextstyle, setlinestyle fonksiyonları

ÇIKTI           Program 19.3: y=f(x) ile belirlenen bir fonksiyonu çizer 

Devamını Oku…

19.3 Renk Kodları

19.3   Renk Kodları Grafik ekranında kullanılan renkler 0-15 arasında renk kodları, yada simgesel sabit karşılıkları ile tanımlıdır. Bu tanımlamaların tamamı graphics.h‘de şöyle bildirilmiştir (bkzgraphics.h):

Ayrıca bu kodları liste halinde Tablo 19.2 de bulabilirsiniz. Tablo 19.2: conio.h ve graphics.h’te tanımlı Standart CGA Video Renk Kodları Renk (TR) Renk (EN) Renk Örneği Renk Kodu Siyah BLACK   

Devamını Oku…

19.2 Bazı Grafik Fonksiyonları

19.2   Bazı Grafik Fonksiyonları Bu bölümde Turbo C grafik fonksiyonlarının bazıları tanıtılmıştır. Bunların dışında biçok fonksiyon vardır. Bu fonksiyonlar derleyicinin başvuru kitabından veya derleyicinin yardım kısmından öğrenilebilir. Tablo 19.1: graphics.h’te tanımlı bazı grafik fonksiyonları Fonksiyon Açıklama moveto(x,y); Son noktayı (x,y) noktasına taşır lineto(x,y); Son noktadan (x,y) noktasına düz bir çizgi çizer. line(x1,y1,x2,y2); (x1,y1) noktasından (x2,y2) 

Devamını Oku…

19.1 Grafik Ekranına Geçiş

19.1   Grafik Ekranına Geçiş Turbo C’de, Grafik sistemine geçmek için, initgraph() fonksiyonunu kullanılır. Bütün çizimler sadece DOS ortamında çalışır. Grafik fonksiyonlarının kullanılması için graphics.hbaşlık dosyası programın başına ilave edilmelidir. Grafik işlemleri için temel işlemler:

şeklindedir.  NOT  initgraph fonksiyonundaki 3. parametre (“”) boş bırakıldığında kaynak dosyanın C:\TC dizininde olması zorunludur. Eğer kaynak dosya başka bir dizinin altında ise o zaman 

Devamını Oku…

18.5 Linux’de Portlara Erişim

18.5   Linux’de Portlara Erişim Linux işletim sisteminde portlara erişmek için birkaç yol vardır. Burada, gcc derleyicisinin içine gömülebilen assemble dili kullanılarak oluşturulan port fonksiyonları gösterilecektir. Linux’de ana kullanıcı (root) olmadıkça veya ana kullanıcı izin vermedikçe portlara erişmeniz mümkün değildir. Bu yüzden, önce programın portlara erişim izni verip vermediği sınanmalıdır. Bunun için, /usr/include/sys/io.h dosyası içinde tanımlı ioperm() fonksiyonu kullanılabilir. 

Devamını Oku…