Merhaba, hoş geldiniz. Bu derste, önişlemci hakkında konuşmak istiyorum.
Bu kavramı daha önceki derslerde kısaca tartışmıştık, esasen sadece
bir avantaj olarak belirtmiştik.
Şu anda dersin başında bu konudan biraz bahsetmek istememin
ana nedeni, her programda kullanılıyor olması.
Ve bir önişlemci komutu olan include yönergesi hakkında konuşmak istiyorum.
Eğer bu konu hakkında konuşmak istiyorsam, öncelikle önişlemciyi genel olarak tanımlamam
gerekiyor. Bu üst düzey bir açıklama olacak.
Sınıfta ilerledikçe, farklı yönergeleri açısından önişlemci
hakkında daha fazla konuşacağız.
Ancak temelleri anlamak için, bu önişlemci c'nin
benzersiz bir özelliğidir.
Diğer birçok dilde bulunmaz.
Ve bu çok avantajlı ve bunu anlamaya çalışmalısınız.
Ve mümkün olduğunca çok kullanmaya çalışmalıyız.
Temel olarak programların geliştirici tarafından daha kolay geliştirilmesini sağlar.
Programların okunmasını kolaylaştırır. Bu da onları daha kolay değiştirilebilir ve daha kolay taşınabilir hale getirir.
Dolayısıyla pek çok avantaj sağlıyor.
Bu nedenle, c'nin erken öğrenilmesinde ne olduğunu anlamak için
bir tanımlamaya sahip olmak önemlidir.
C derleme sürecinin bir parçasıdır,
ancak özel ifadeler olarak tanınır.
Ve tıpkı adında önişlemci yazdığı gibi,
kodu işlemeden önce bir şeyler olduğunu ima eder.
Yani programın kendisini analiz etmeden önce kodunuzdaki
belirli ifadeleri analiz eder.
Esasen derlemeden önce bir şeyler yapar.
Yani derleyicinize diyor ki, hey, bu koda dönüştürmeden önce,
nesne dosyalarını oluşturmadan önce, tüm bağlantıları
oluşturmadan ve çalıştırılabilir dosyayı oluşturmadan önce, önce bunu
yap.
Derlemeden önce bu işlemleri yaptığınız için, işleri optimize edebilir
ve çok daha kolay hale getirebilirsiniz.
Bu önişlemci komutları genellikle kaynak kodunuzun en üstünde
yer alır, ancak herhangi bir yerde
de olabilirler. Kodunuz boyunca herhangi bir yere serpiştirilmiş olabilirler.
Konuşacağımız en önemli konulardan biri de dahil etme.
Kaynak kodunuzdaki önişlemci ifadelerini tanımlayabilmenizin yolu, önlerinde bir
pound işareti olmasıdır, yani bu sayı pound işaretine
sahiptirler.
Önişlemci yönergesi olarak da bilinen bir önişlemci
komutu olabilmesi için satırdaki boşluk
olmayan ilk karakter olmalıdır.
Bahsettiğim gibi, ilk görevimiz aslında bir önişlemci yönergesi kullanıyordu.
Dahil etme direktifiydi. Bunun bir önişlemci yönergesi olduğunu biliyoruz çünkü pound sembolünü gördük.
Dahil etmenin ne işe yaradığını tam olarak bilmiyoruz, bunu başka bir derste konuşacağız.
Ancak bu bir önişlemci komutudur, bir önişlemci yönergesidir.
Ve yine, temelde her programda çok yaygın olarak kullanıldığı
için, çünkü her programın bir include'i olacak, bu konudan erkenden
bahsetmek istedim.
Ancak bu sadece bir dahil etme olduğu anlamına gelmez.
Ön işlemci başka pek çok şey yapabilir ve başka komutlara sahip olabilir.
Bu kurs boyunca önişlemci ile ilgili konuşacağımız şeylerden bazıları sabitler oluşturabilmek
gibi şeylerdir. Sabitler, esasen değeri
asla değişmeyen bir değişken olduğu bir kavramdır.
Bu asla değişmeyen bir veridir, bu şekilde düşünebilirsiniz çünkü henüz değişkenlerden bahsetmedik bile.
Ancak önişlemcide sabitler oluşturabilirsiniz
ve bu, kodunuzu optimize ederek daha verimli hale getirir ve daha hızlı çalışmasını sağlar.
Bir de makro kavramı var ki bu başlı başına ayrı bir konu.
Ancak bir makro başka bir önişlemci yönergesidir.
Makroları oluşturmanın yolu ise define deyimini kullanmaktır.
Bu yüzden tanımlama hakkında konuşacağız, sabitler oluşturma hakkında konuşacağız.
Ancak bu önişlemci kavramına ve include, define,
constant gibi bu farklı şeyleri kullanmaya aşina olmalısınız.
Include, bir sonraki derste özellikle bahsedeceğiz, ancak bunun bir yararı
da kendi kütüphane dosyalarınızı oluşturabilmenizdir.
Ve bir kütüphanenin ne olduğundan bahsettik, bir kütüphane sadece mevcut kodu yeniden kullanmaktır.
Yani yazmak zorunda olmadığınız bir kod.
C programlama dilleri, konsola çıktı görüntüleme, dosya okuma
ve yazma, akışları işleme gibi
her türlü farklı şeyi sizin için yapan kendi standart
kütüphanesiyle birlikte gelir. Java'ya aşina iseniz, java API'lerini,
uygulama programlama arayüzlerini
içe aktarmaya benzer.
Önişlemci yönergelerinin diğer örnekleri if def the end if, else
ya da in if not define ifadeleri
gibi koşullu ifadelerdir ve bunlar hakkında da
daha detaylı konuşacağız.
Ancak tüm bu önişlemci yönergeleri kodun verimliliğine
yardımcı olur ve derleyici gerçekten çalışmadan önce çalışırlar.
Herhangi bir kod, herhangi bir nesne dosyası
veya yürütülebilir dosya oluşturmadan önce çalıştırılır.
Ancak tüm bunları gelecek derslerde çok daha ayrıntılı olarak ele alacağız.
Size önceden küçük bir tat vermek istedim çünkü
bir sonraki konuşacağımız şey olan include deyimi ile ne yaptığımızı anlayabilmemiz
için önce bunu anlamamız gerekiyor. Teşekkür ederim.