Reklam ver...

DLL nedir?



Yazar Özgür Özkurt
Mesleği Mak. Müh. Öğrencisi
   
web  
e-mail

Windows’un herhangi bir sürümünü kullanmış olanlarınız 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 yapmamız gerektiğinde 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 saklanmasıdır. Bu arada artık Windows ortamında çalıştırılabilir 2 dosya türünden bahsetmenin zamanı geldi sanırım. Birincisi EXE dosyaları ikincisi ise DLL’ lerdir. İkilik sayı tabanında kayıt edilirler ve çalıştırılabilir kod barındırırlar. Asıl konumuza dönersek, fonksiyonların programı parçalara 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ığı avantajları bir görün derim.

DLL Kullanmanın Avantajları

Herhangi bir dilde yazılmış bir DLL diğer bir dillerden 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’ i kullanıp o işlemi gerçekleştirebilirsiniz.

Bütün kodların tek bir EXE dosyasında olduğunu düşünün. Ortalama bir programın hafızada ne kadar yer kapladığını da siz tahmin edin. Büyük çoğunluğu EXE dosyasının kapladığını gerçektir. 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. Bu 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.

Şimdi, 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 (yaklaşık 100 mb diyelim) yazıp dağıtmışsınız. 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’i 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 DLL dosyalarından nasıl faydalandığına bakalım. Bunun için Windows dizinindeki system32 klasörüne bakmanız yetecektir. Hiç de 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.

Hoçakalın…

Technorati Tags: , ,

Read this article in English.

Rastgele bir yazı

8 Votes | Average: 5 out of 58 Votes | Average: 5 out of 58 Votes | Average: 5 out of 58 Votes | Average: 5 out of 58 Votes | Average: 5 out of 5 (8 oy, ortalama: 5)
Loading ... Loading ...

3 yorum “DLL nedir?”

Yorum bırak