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 />

BİR C PROGRAMI OLUŞTURMAK<br />

C dilinde yazılan bir programın çalıştırılabilir hale getirilebilmesi için, çoğunlukla aşağıdaki<br />

süreçlerden geçilir:<br />

1. Kaynak dosyanın oluşturulması<br />

Kaynak dosya, metin düzenleyici bir programda (text editörü) yazılır. Kaynak dosya bir<br />

metin dosyasıdır. C dilinin kurallarına göre yazılan dosyaların uzantısı, geleneksel olarak<br />

".c" seçilir.<br />

2. Kaynak dosyanın derleyici program (compiler) tarafından derlenmesi:<br />

Bir programlama dilinde yazılmış programı başka bir programlama diline çeviren<br />

programlara "çevirici" (translator) denir. Dönüştürülmek istenen programın yazıldığı dile<br />

"kaynak dil" (source language), dönüşümün yapıldığı dile ise "hedef dil" (target language)<br />

denir. Hedef dil, makine dili ya da simgesel makine dili ise, böyle çevirici programlara<br />

"derleyici" (compiler) denir.<br />

Derleyici program kaynak dosyayı alır, çeviri işleminde eğer başarılı olursa bu kaynak<br />

dosyadan bir "amaç dosya" (object file) üretir.<br />

Derleyici programın derleme işlemini yapma sürecine "derleme zamanı " (compile time)<br />

denir. Derleme işlemi başarısızlık ile de sonuçlanabilir.<br />

Bir derleyici program, kaynak metni makine diline çevirme çabasında, kaynak metnin C<br />

dilinin sözdizim kurallarına uygunluğunu da denetler.<br />

Kaynak metinde dilin kurallarının çiğnendiği durumlarda, derleyici program bu durumu<br />

bildiren bir ileti (diagnostic message) vermek zorundadır. Derleyici programın verdiği<br />

ileti:<br />

i) Bir "hata iletisi" (error message) olabilir. Bu durumda, derleyici programlar çoğunlukla<br />

amaç dosya üretmeyi reddeder.<br />

ii) Bir uyarı iletisi olabilir (warning message). Bu durumda, derleyici programlar<br />

çoğunlukla amaç dosyayı üretir.<br />

C standartlarına göre derleyici programlar, dilin kurallarının çiğnenmesi durumlarının<br />

dışında da, programcıyı mantıksal hatalara karşı korumak amacıyla, istedikleri kadar<br />

uyarı iletisi üretebilir.<br />

Unix/Linux sistemlerinde oluşturulan amaç dosyaların uzantısı ".o" dur. DOS ve Windows<br />

sistemlerinde amaç dosyalar ".obj" uzantısını alır.<br />

Derleyici programlar, genellikle basit bir arayüz ile işletim sisteminin komut satırından<br />

çalıştırılacak biçimde yazılır. Arayüzün basit tutulmasının nedeni başka bir program<br />

tarafından kolay kullanabilmesini sağlamak içindir. Örneğin, Microsoft firmasının C/C++<br />

derleyicisi aslında "cl.exe" isimli bir programdır. UNIX sistemlerindeki GNU'nun gcc<br />

derleyicisi ise aslında gcc.exe isimli bir programdır.<br />

Derleyici programları daha kolay yönetmek için, IDE (integrated development<br />

environment) denilen geliştirme ortamları kullanılabilir. IDE derleyici demek değil,<br />

derleyiciyi çalıştıran ve program yazmayı kolaylaştıran geliştirme ortamlarıdır. Örneğin<br />

MinGW ve DevC++ derleyici değil, IDE programlarıdır. Bu programlar gcc derleyicisini<br />

kullanmaktadır.<br />

3. Daha önce elde edilmiş amaç dosyalar "bağlayıcı" (linker) program tarafından<br />

birleştirilerek çalıştırılabilir bir dosya elde edilir. UNIX sistemlerinde genellikle<br />

çalıştırılabilir dosyanın uzantısı olmaz. Windows sistemlerinde çalıştırılabilir dosyaların<br />

uzantısı ".exe" olarak seçilir.<br />

31/529

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

Saved successfully!

Ooh no, something went wrong!