reklam

c# bir programın derlenme süreci

coder
|
15.06.2018
|
76 okunma
|
0 Yorum

Bu makalemizde c# ile yazılan bir programın derlenme sürecinden bahsedeceğiz. Biz programcılar programı yazarız ve çalıştırırız. Eğer program sağlıklı bir şekilde çalışıyorsa artık gerisiyle ilgilenmeyiz.

 

Yazılan bir programın derlenmesi demek çalıştırılabilir exe veya dll dosyalarına dönüştürülmesi demektir. Visual studio da c# dilini kullanarak program yazıyorsanız f5 tuşuna basarak programınızı derleyebilirsiniz.

 

Bilgisayara yazılan bir kodun işlemci tarafından direkt anlaşılması imkansızdır. Bunun için programın derlenerek işlemcinin anlayacağı makine diline yani 0 ve 1 lerden oluşan kodlara dönüştürülmesi gerekiyor. 

 

Yazılımı ilk derlediğimiz de IL diye adlandırılan bir ara dile çevrilmektedir. Lakin bilgisayarımızın işlemcisi hala bu kodun ne olduğunu anlamıyor. Peki derleme anında programımızın kodları neden önce IL ara diline çevriliyor. Sebebi şudur: Bir program hangi dil ile yazılırsa yazılsın öncelikle ortak dil olan IL aradiline çevrilir. IL aradiline çevrilen bu kodu istediğiniz işletim sisteminde çalıştırabilirsiniz. Diyelim ki windows kullanarak bir program yazdınız ama programınızı linuxta çalıştırmak istiyorsunuz. O zaman derlenen bu IL kodlarını alıp istediğiniz platformda kullanabilirsiniz. Bu neden böyle yapılmış peki. Bunu da söyleyelim: Farklı dilleri kullananlar için ortak bir standart oluşturmak için böyle bir yöntem uygulanmaktadır. 

 

İşlemci tek başına IL kodunun ne anlama geldiğini bilmiyor demiştik. Demek ki IL kodunun hala derlenmeye ihtiyacı var. Yani IL kodunu makine kodlarına 0 ve 1 lere dönüştürmemiz gerekiyor. C# derleme makinesinde bulunan ve adına JIT denilen yapı IL kodunu makine koduna dönüştürerek hafızaya yükleyip programımızı bizler için işlemci de çalıştırır. 

 

Bu derleme işinde aslında daha çok fasıl var ama şimdilik bizi ilgilendiren kısım burası. İşleri biraz ilerletip c# programlama dilini biraz öğrenmeye başladıktan sonra en ince detaylara kadar anlatacağıma emin olabilirisiniz. 

Tüm Hakları Saklıdır. © 2018 Geliştirici Mehmet Tanrıverdi & Tasarım Oktay Karakaya