Windows herhangi bir sürümünü kullanmış olan mutlaka bahsettiğim dosya türünün ne olduğunu hemen hatırlarlar.Ancak programlamayla ilgilenmemiş çok az insanın bu dosya türü hakkında detaylı bilgisi vardır.DLL(Dinamic Link Library) yani dinamik bağlı kütüphanelerin ne olduğunu,nerelerde kullandığı ve ne avantaj sağladığı hakkında bildiklerimi bu yazımda sizinle paylaşacağım.Yapısaldan nesneye yönelik(OOP) tüm dillerde kullanılan fonksiyon ve nesne kavramına benzetilebilir.Nasıl ki program için bir işlemi birden çok gerçekleştireceğiniz zaman onu fonksiyon olarak oluşturup lazım olduğunda gerekli parametrelerle çağırıyorsanız DLL ler için de aynı mantık geçerlidir.Tek fark exe(Executable),yani programın çalıştırılabilir ana dosyasından farklı yerde saklanırlar.Bu arada artık Windows ortamında çalıştırılabilir 2 dosya türünden bahsetmenin zamanı geldi sanırım.Birincisi exe ikincisi ise dll lerdir.İkilik tabanda kayıt edilirler ve çalıştırılabilir kod barındırırlar.Asıl konumuza dönersek fonksiyonların programı fonksiyonlara bölüp zamandan ve okunabilirlikten kazanç sağladığını hatırlatalım.DLL ler de aynı mantık ile çalışır.Eeee…programı fonksiyonlara bölüp zamandan tasarruf etmek yetmez mi? derseniz;şimdi DLL lerin sağladığı avantajlardan bahsedelim.DLL Kullanmanın Avantajları
Herhangi bir dilde yazılmış bir DLL diğer bir dilden, uygun tipte parametreler kullanılarak çağrıldığında da kullanılabilir.Şöyle düşünün bir programlama dili kullanarak bir yazılım geliştiriyorsunuz.Ve kullandığınız dilin yeteneği olmayan bir konuda işlem yapmanız gerekti.İşte bu nokta başka dilde yazılmış bir DLL yi kullanıp o işlemi gerçekleştirebilirsiniz.Bütün kodların tek dosyada, exe dosyasında olduğunu düşünün.Ortalama bir programın ne kadar hafızada yer kapladığını da siz tahmin edin ve büyük çoğunluğu exe dosyasının kapladığını düşünün.Programı her çalıştırdığınızda tüm exe hafızaya yüklenip çalıştırılacağından facia gibi bir şeyle karşılaşırsınız.O yüzden tüm kodlar exe ye gömülmek yerine DLL dosyalarına bölünür ve gerektiğinde hafızaya yüklenip kullanılırlar.Bu seferde geniş çapta bir program yazdığınızı ve fazlaca kullanıcınızın olduğunu düşünün.Siz de programınız tek exe halinde(ortalam 100 mb diyelim) yazıp dağıtmışsınız.Ve aksilik bu ya programı güncellemeniz gerekti.İnternet sayfanızda gerekli düzeltmeleri yapıp müşterilerinizden güncelleme yapmalarını istediniz..Eminim 100 mb lık programı yeniden indirmek size epey müşteri kaybettirecektir.Eğer programı işlev işlev DLL dosyalarına bölseydiniz;yanlızca hata olan fonksiyonun bulunduğu DLL’yi müşterilerinizden güncellemesini istemeniz yetecekti.Bu da belki birkaç megabyte demek olacaktı.Kısaca DLL dosyalarının hız,zaman ve hafızadan tasarruf sağladığından bahsedebiliriz.Biraz da MS Windows işletim sisteminin(OS) DLL dosyalarından nasıl faydalandığını inceleyim.Bunun için Windows dizinindeki system32 klasörüne bakmanız yetecektir.Hiç te yabancı gelmeyen dosya isimleriyle karşılaşacaksınız.Bunlar Windows ta yaptığınız günlük rutin işleri gerçekleştiren fonksiyonların barındıkları dosya formatlarıdır.
Özgür Özkurt
Kaydol:
Kayıt Yorumları (Atom)

IP adresiniz
4 yorum:
merhaba ben araştırmayı seven birisiyim de .dll ile neler yapabilirim.
Ben de aynı soruyu sormak istiyorum.
.dll leri kullanarak nasıl programlama yapılır.Bunu acıklayan bir kaynak onerebilir misiniz?
merhaba..yazınız çok güzel..internette dll konusunda gördüğüm en açıklayıcı yazı..ben bir süredir java diline merak saldım ve öğrenmek istiyorum..fakat javada yazdığım bir programda nasıl dll dosyaları oluşturabilirim yada programı nasıl dll dosyalarına bölebilirim açıklarmısınız??yani bu dll dosyalarını nasıl ve hangi programla açabilirim ve kullanabilirim?yardımlarınızı bekliyorum e-mail adresim: hismail06@hotmail.com şimdiden teşekkürler
Acaba enter tuşundan haberiniz var mı? Ya da paragraf denen bir şey duydunuz mu?
Yazının okunurluğu: 0.
Yorum Gönder