berkmenoo 1
berkmenoo
mavzermete 1
mavzermete
Mt2Hizmet 1
Mt2Hizmet
xranzei 1
xranzei
Bvural41 1
Bvural41
noisiv 1
noisiv
Manwe Work 1
Manwe Work
Hikaye Ekle

DLL Nedir?.

  • Konuyu başlatan Konuyu başlatan FarCry
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 1
  • Görüntüleme Görüntüleme 888

HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!

DLL nedir?
-------------------------------------------------------------


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.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst