DLL kütüphanelerine neye ihtiyacınız var? Dinamik Düzen Kütüphaneleri (DLL) ile çalışın. Dinamik Yükleme ve Boşaltma DLL

  • 29.03.2019

Ve IBM OS / 2; Çeşitli birden fazla kullanım sağlayan dinamik kütüphane yazılım uygulamaları. K DLL ayrıca ActiveX kontrolleri ve sürücüleri de içerir. UNIX dünyasında, benzer fonksiyonlar T.N. tarafından yapılır. Paylaşılan nesneler ("paylaşılan nesneler").

DLL dosyalarının formatı, yürütülebilir dosyaların formatı, kod, tablo ve kaynakların birleştirilmesi ile aynı anlaşmalara bağlı.

DLL'nin tanıtımının hedefleri.

Başlangıçta DLL'nin tanıtımının etkili bir şekilde hafıza düzenleneceği varsayılmıştır ve disk alanıKütüphane modülünün sadece bir örneğini kullanarak Çeşitli uygulamalar. Özellikle erken için önemliydi microsoft sürümleri Sert bellek sınırlamaları olan pencereler.

Sonra, gelişimin ve kullanımın verimliliğini arttırması gerekiyordu. sistemler Modülerlik nedeniyle. DLL programlarını bir versiyondan diğerine değiştirmek, uygulamaları etkilemeden sistemi bağımsız olarak artırmasına izin verilmiş olmalıdır. Ek olarak, DLL kütüphanesi çok yönlü uygulamalarla kullanılabilir - örneğin, Microsoft Office, Microsoft Görsel stüdyo. vb.

Gelecekte, modülerlik fikri com konseptine büyüdü.

Aslında, tam avantajlar DLL'nin uygulanmasından, DLL Cehennem ("cehennem dll") adlı fenomen nedeniyle mümkün değildi. DLL Cehennem, birkaç uygulama farklı, tam uyumlu olmadığında, bu uygulamalardaki başarısızlıklara yol açan DLL kütüphanelerinin sürümleri. Sistem büyüdüğünde tanımlanmış boyutlarDLL'nin miktarı binlerce binlerce'yi geçmeye başladı, hepsinin tamamen güvenilirliği ve uyumluluğuna sahip olmadığı ve DLL cehennem tipi çatışmalar, sistemin genel güvenilirliğini keskin bir şekilde düşürerek çok sık görülmeye başladı. Geç sürümler Microsoft Windows. çözmeye başladı paralel kullanım farklı versiyonlar Modülerliğin ilk prensibinin faydalarını azaltan DLL. Uygulama kaynaklarında veya olarak depolanan manifest dosyası sayesinde farklı DLL sürümlerini kullanmak mümkün olmuştur. ayrı bir dosya. Birinde dizin uygulaması ile.

Farklı dillerde DLL kullanma örnekleri

DLL'ye İhracat

Delphi.

Kütüphane Örneği; (Bazı eylemler üretiyoruz ve sonucu iade ediyoruz) Fonksiyon Ek Addnumbers (A, B: Çift): Çift; Cdecl; Addnumbers'a başlayın: \u003d a + b ucu; (Bu özellik dışa aktarılır) ilacı ilacı; (DLL başlatıcı, C ve C ++ 'da analog ana () işlevi sona erer.

C ve C ++

#Dahil etmek. #Define DLlexport Extern "C" __DECLSPEC (DLLEXPORT) // Extern "C", Nesne // Dosyaları alırken, basit nesil // fonksiyonun (dil tarzında), işlevin imzasının kullanılması anlamına gelir. Özellikle, C ++ derleyicisinin // adının "sahne" (veya "dekorasyon") üretmesini yasaklar /////////////////////////////////////////////////////////// ek semboller DLL / *'ye dışa aktarırken, bu özellik * / DLlexport çift ilavesi (çift A, çift b) // prototip fonksiyonuna (vücudu olmayan fonksiyon) ile dışa aktarılır. Bu bildirilen imza fonksiyonuna göre, vücudu arayışı // birbirine bağlanırken veya başka bir yerde üretilecektir. ikili dosya; / * DLL başlatma fonksiyonu, ana () * / Bool Apientry'nin analogu (Kolu HModule, DWORD DWRESON, LPVOID LPRESCED) (DÖNÜŞTÜRLUĞU) (GERİ DÖNÜŞTÜR) (GERİ DÖNÜŞ;) / * Yukarıda belirtilen prototip fonksiyonunun gövdesi (uygulama). Bazı eylemler üretir ve sonucu döndürür * / DLlexport Çift Addnumbers (çift A, Çift B) (A + B döndürür;)

DLL'den ithalat

Delphi.

Program örneği; ($ Apptype konsolu) (fonksiyonun DLL'de olduğunu belirtin) fonksiyonu eklentileri (A, B: çift): Çift; Cdecl; harici "example.dll"; (Fonksiyonu her zamanki gibi kullanın) var Sonuç: Çift; BAŞLANGIÇ SONUÇ: \u003d Adnumbers (1, 2); Writeln ("Sonuç şuydu:", sonuç).

C ve C ++

#Dahil etmek. / * * Vücut işlevinin başka bir dosyada olduğunu gösteriyor. * Nesneyi unutma modül dll Bağlama sırasında! * / Extern "C" __DECLSPEC (Dllimport) Çift Addnumbers (Çift A, Çift B); / * Fonksiyonu normal * / int ana (int argc, char ** argv) olarak kullanın (çift sonuç \u003d ilave (1, 2); printf ("Sonuç:% f \\ n", sonuçtur; geri dönüş 0; )

Çalışırken DLL'den yükleyin ve içe aktarın

Delphi.

Program örneği; ($ Apptype konsolu) var sonucu: çift; Libhandle: Hmodule; Addnumbers: İşlev (A, B: Çift): Çift; Libhandle'ye başla: \u003d loadLibrary ("example.dll"); // Libhandle İndir dll indir<> 0 Ardından @AddNumbers'a başlayın: \u003d GETPROCADDRESS (Libhandle, "Adnumbers"); // adresini hatırla // @addnumbers ise gerekli işlevi<> Nil sonra sonucu başlar: \u003d adnumbers (1, 2); // Writeln işlevini kullanma ("Sonuç şuydu:", sonuçtur; son; Freelibrary (Libhandle); // dll ucunu boşaltın; son.

C ve C ++

#Dahil etmek. #Dahil etmek. / * * Kullanılan fonksiyon tipi * (parametre türlerinin ve geri dönüş değerlerinin kombinasyonu) * / TypeDef çift (* ithalat) (çift, çift); İnt ana (int argc, char ** argv) (ithalat eklentileri; çift sonuç; / * belleğe indirin * / hinstance hinstlib \u003d loadlibrary ("example.dll"); eğer (Hinstlib \u003d\u003d null) (printf ("hatası) : Dll \\ n "); geri döndürülemiyor 1;) / * İşlev için bir işaretçi edinin * / Addnumbers \u003d (ImportFunction) GetproCaddress (Hinstlib," Adnumbers "); eğer (eklentisiler \u003d\u003d null) (printf (" hatası) : DLL işlevi \\ n "); döndürme 1;) / * Bir işaretçi aracılığıyla bir işlevi çağırıyoruz * / Sonuç \u003d Addnumbers (1, 2); / * * DLL'yi boşaltın (ilke olarak, otomatik olarak yapılacaktır. Programı terk ederken) * / freelibrary (hinstlib); / * Sonucu görüntüler * / printf ("Sonuç:% f \\ n", sonuç geri dönüş 0;)

DLL Mekanizmalarındaki Güvenlik Açıkları

Güvenlik açığı, LoadLibrary () işlevini çağırırken birçok programın, bu kütüphanenin yüklenebileceği yolun doğruluğunu kontrol etmemektedir. Böylece, uygulanan kütüphanenin yerini almanıza izin verir. Bu, kütüphane aramanın öncelikle işlemi oluşturan yürütülebilir dosyanın görüntüsünü içeren dizinde yapıldığı gerçeğinden kaynaklanmaktadır (Semmin kütüphanesi, işlemi çalıştıran kullanıcı ayrıcalıklarıyla gerçekleştirilir).

8 cevap

DLL nedir?

Dinamik Kütüphane Kütüphaneleri (DLL) EXE'ye benzer, ancak doğrudan yürütülüyorlar. Linux / UNIX'te dosyalara benzerler. Başka bir deyişle, DLL, Paylaşılan MS kütüphanelerinin uygulanmasıdır.

DLL dosyaları, dosya biçiminin kendisinin de aynı olduğu için benzer. Ve EXE ve DLL, taşınabilir yürütülebilir (PE) formatına dayanır. DLL ayrıca COM bileşenleri ve Libraries.net'i içerebilir.

DLL ne içeriyor?

DLL İşlevler, Sınıflar, Değişkenler, kullanıcı arayüzleri Ve exe veya diğer kütüphane kullanan kaynaklar (simgeler, görüntüler, dosyalar, ...).

Kütüphanelerin Türleri:

Neredeyse tüm işletim sistemlerinde 2 çeşit kütüphane vardır. Statik kütüphaneler ve dinamik kütüphaneler. İÇİNDE Windows genişlemesi Dosyalar aşağıdakileri takip ediyor: Statik kütüphaneler (.lib) ve dinamik kütüphaneler (.dll). Ana fark, statik kütüphanelerin derleme sırasında yürütülebilir dosyayla ilişkili olmasıdır; Oysa dinamik olarak İlgili Kütüphaneler Yürütme süresi ile ilgili değil.

Statik ve dinamik kütüphaneler hakkında daha fazla bilgi edinin:

Genellikle, bilgisayarınızda olsa da, statik kütüphaneler görmüyorsunuz, çünkü statik kütüphane doğrudan modülün (EXE veya DLL) içine yerleştirildi. Dinamik kütüphane bağımsız bir dosyadır.

DLL herhangi bir zamanda değiştirilebilir ve yalnızca exe dosyaları DLL dosyasını yüklerken yalnızca yürütme sırasında yüklenir. Statik kütüphane, EXE'de derlemesinden sonra değiştirilemez. DLL EXE'nin kendisini güncellemeden ayrı ayrı güncellenebilir.

Program, Win32 API loadlibrary ile başlatıldığında veya başka bir DLL'ye bağımlılık olduğunda DLL dosyasını yükler. Program, kaynağı indirmek için bir işlevi veya loadresource indirmek için GetProCaddress kullanır.

Daha fazla okuma:

ilgili sorular


Benzer sorular

DLL nedir?

Dll dosyaları İkili Dosyalariçerebilir yürütülebilir kod ve görüntüler gibi kaynaklar vb. Uygulamaların aksine, doğrudan yürütülemezler, ancak uygulama bunları gerektiği gibi yükler (veya hemen başlatma sırasında).

Onlar ne kadar önemli?

Çoğu uygulama başlarken istediğiniz DLL dosyalarını indirin. Bunlardan herhangi biri bulunmazsa, sistem işlemi hiç başlatamayacaktır.

DLL dosyaları başka dll dosyalarını gerektirebilir

Uygulamanın bir DLL dosyası gerektirdiği şekilde, DLL dosyası diğer DLL dosyalarına bağlı olabilir. Bağımlılık zincirindeki bu DLL dosyalarından biri bulunmazsa, uygulama yüklenmez. Bu, bağımlılık yürüteçleri gibi herhangi bir bağımlılık bağımlılığı araçları kullanılarak kolayca hata ayıklanır.

Sistem klasörlerinde çok fazla var

Çoğu fonksiyonellik Sistemler temsil edilir Özel program DLL dosyaları biçiminde, çünkü standart bir formdurlar paylaşma Kod / kaynaklar. Her işlevsellik farklı DLL dosyalarında ayrı olarak depolanır, bu nedenle sadece gerekli DLL dosyaları yüklenir ve bu nedenle sistemdeki bellek kısıtlamaları azalır.

Yüklü uygulamalar Ayrıca DLL dosyalarını kullanın

DLL dosyaları ayrıca, yukarıda açıklandığı gibi, fonksiyonların fiziksel olarak ayrılması şekli haline gelir. İyi uygulamalar Ayrıca, bellek gereksinimlerini azaltacak şekilde kesinlikle gerekli olana kadar DLL dosyalarını indirmemeye çalışın. Ayrıca uygulamaların çok fazla DLL dosyasını göndermesine neden olur.

DLL Cehennem.

Bununla birlikte, bazen sistem güncellemeleri, DLL'nin paylaşılan dosyaları ile istenen program arasında bir versiyonun uyumsuzluğu olduğunda diğer programları sık sık keser. Sistemik kontrol noktaları ve önbellek bellek dll vb. Bu sorunu çözmek için M $ girişimleri vardı. Platform.NET bu sorunla karşılaşamayabilir.

DLL dosyasının içinde nasıl öğreniriz?

Dumpbin veya bağımlılık yürüteçleri gibi harici bir araç kullanmanız gerekir, bu sadece hangi halka açıktır. görünür işlevler (İhracat olarak bilinir) DLL dosyalarının yanı sıra, gerektirdiği diğer DLL dosyalarının yanı sıra bu DLL dosyalarından hangi dll dosyalarının bulunduğu bu DLL dosyasına bağlıdır.

Onları nasıl yaratırız / kullanıyoruz?

İçin belgelere bakın yazılım Tedarikçinizden. C ++ için, MSDN'deki LoadLibrary'a bakın.

Kütüphanede bulunan bazı işlevleri kullanan bir yürütülebilir dosyayı oluşturduğunuzu varsayalım.

Kütüphane kullandıysa statikBağlayıcı, bu işlevlerin nesne kodunu doğrudan kütüphaneden kopyalar ve bunları çalıştırılabilir dosyaya ekler.

Şimdi, bu yürütülebilir dosyaya çalışıyorsa, ihtiyacınız olan her şeye sahiptir, bu nedenle yürütülebilir önyükleyici sadece belleğe yükler ve başlatır.

Kütüphane ise Dinamik, Linker nesne kodunu yerleştirmez, ancak bu fonksiyonun bu konuda bulunduğunu söyleyen fişi ekler. Dll bu yerde.

Şimdi, bu yürütülebilir dosya çalışırsa, yürütülebilir dosyanın bitleri eksik (örneğin, fişler), böylece önyükleyici, eksik fişleri düzelterek, önyükleyici çalıştırılabilir dosyadan geçer. Yalnızca tüm fişlere izin verildikten sonra, yürütülebilir dosyanın çalışmasına izin verilir.

Eylemde görmek için, DLL dosyasını silin veya yeniden adlandırın ve bootloader'ın eksik olduğunu nasıl bildirdiğini görün dll hatası Yürütülebilir dosyayı başlatmaya çalıştığınızda.

Sonuç olarak, isim Dinamik Kütüphane Bağlantıları, bağlanma işleminin parçaları yürütülebilir yükleyici sırasında dinamik olarak gerçekleştirilir.

Son bir açıklama DLL'ye bağlanmazsanız, bir bağlayıcı ile hiçbir fiş takılamaz, ancak Windows hala API tarafından sağlanır. GETPROCADDRESSBu, yürütülebilir dosyadan sonra DLL'nin yürütülmesini indirmenize olanak sağlar.

Dll dosyaları içerir Masa ihracatıArayan tarafından görülebilecek karakterlerin bir listesidir. Semboller genellikle C çağrı kongresi C (__ stcall) ile çalışır. İhracat tablosu ayrıca bir işlev adresi içerir.

Bu bilgi ile sebep Programı Belki de derleme sırasında DLL'ye erişimi olmasa bile, DLL içindeki işlevleri arayın.

DLL (Dinamik Bağlantı Kütüphaneleri) ve SL (UNIX'te eşdeğer paylaşılan kütüphaneler), yükleme sırasında yürütülebilir dosyayla dinamik olarak ilişkili olabilecek yürütülebilir kod kitaplıklarıdır.

Statik kütüphaneler derleme sırasında çalıştırılabilir dosyaya yerleştirilir ve bu noktadan düzeltilir. Yürütülebilir dosyanın boyutunu arttırırlar ve ayrılamazlar.

Dinamik kütüphaneler aşağıdaki avantajlara sahiptir:

1 / onlar yürütme sırasında yüklenir ve derlenmez, böylece yürütülebilir dosyadan bağımsız olarak güncellenebilirler (tüm bu tuhaf pencereler ve diyalog kutularıWindows'ta gördüğünüz, DLL'den geliyor, yani görünüm Uygulamanız yeniden yazılmadan değişebilir).

2 / Bağımsız oldukları için, kod birkaç yürütülebilir dosyaya ayrılabilir - hafızayı kaydeder, çünkü bir DLL'den 100 uygulama kullanıyorsanız, DLL'nin yalnızca bir kopyası bellekte olabilir.

Başlıca dezavantajları, 1 numaralı avantajdır. 1 - Uygulamadan bağımsız olarak, DLL kütüphanesini değiştiren, uygulamanızın çalışmayı bırakıp davranmaya başlayacağına yol açabilir. DLL sürümü genellikle Windows altında çok iyi yapılmaz ve bu "DLL Cehennem" tuhaf adına yol açar.

DLL veya Dinamic-Link Library, bir dosyadır. ek kaynaklarBu programlar ve işletim sisteminin kendisi tarafından kullanılabilecek. DLL dosyaları yürütülebilir kod ve yürütüldüğünde çeşitli programlar için gerekli olan diğer veriler tarafından verilir. Aynı DLL dosyası aynı anda birkaç program tarafından kullanılabilir.

DLL kütüphanesinin ne olduğunu anlamak için bir örnek olarak düşünün. İşletim sisteminin COMDLG32 adlı bir DLL dosyasına sahiptir. İletişim kutuları oluşturmak için gerekli kaynakları içerir. Çeşitli programlar İletişim kutuları oluşturmak için DLL dosyasını COMDLG32 kullanın. Böylece, aynı DLL dosyası gerekli kaynakları sağlar. çok sayıda programlar. Böyle bir yaklaşım, bir disk alanı tasarrufu sağlar ve daha verimli RAM kullanır.

DLL dosyalarının kullanılması başka avantajları var. Böylece DLL dosyalarını kullanarak, geliştirici modüler bir program oluşturabilir. Yürütülebilir Exe dosyası Sadece program için en gerekli kaynakları ve DLL dosyalarındaki gerisini yerleştirebilirsiniz. Ve sonra programın çalışması sırasında sadece gerekli şu an Dll dosyaları. Nedan beri. doğru Kaynaklar Yüklenmeyecek, program çok daha hızlı çalışacak. Ek olarak, program bu prensibe inşa edilmişse, güncellenmesi çok kolaydır. Yalnızca bir DLL dosyasına değişiklik yapacak kadar ve gerisi dokunulmaz.

Ameliyathanede windows sistemi Ayrıca dosya.ocx (ActiveX), .cpl (kontrol paneli), .drv (sürücüler) kullanılır. Aynı yapıya sahipler ve aynı görevleri DLL kütüphanesi olarak gerçekleştirirler.

DLL dosyalarıyla olası sorunlar

DLL dosyalarıyla en yaygın sorun onların yokluğu. Genellikle, programın ayrı ayrı uygulanan DLL dosyalarına ihtiyacı vardır. DirectX'in parlak bir örneği. Muhtemelen, programdan dolayı başlatılamadığında sık sık sorununla karşılaştınız. dLL eksikliği DirectX dosya.

Kural olarak, bu sorun çok basit olarak çözülür. İnternette bulmak ve programın raporlarının bulunmadığı bir dosyayı indirmek gerekir. Bundan sonra oyunla birlikte klasöre kopyalayın windows klasörleri ve Windows \\ System32. Çoğu durumda, bu sorunu çözmek için yeterlidir.

Bugün, kullanıcılardan sık sık ortaya çıkan bir sorunu çözmekle ilgili konuşacağım. Herhangi biri, DLL kütüphane dosyasının eksikliği ile ilgili hata. Sistemde yok olması durumunda bilgisayarınızda bu hata belirir. gerekli Dosya "Dinamik kütüphaneler". Bu dosyalar program çalışması için gereklidir, daha sık size bu hatayı veren bir oyundur.

Wikipedia'dan:

Dll- "Dinamik düzen kütüphanesi", "dinamik olarak bağlı kütüphane", çalışmada microsoft Systems Windows ve IBM OS / 2, çeşitli yazılım uygulamalarının çoklu kullanımı sağlayan dinamik bir kütüphanedir. Bu kütüphaneler genellikle bir dll uzantısına sahiptir. EXE gibi, DLL'ler kod, veri ve kaynak bölümlerini içerebilir.

DLL ile aynı formatta veri dosyaları, ancak uzantı ile karakterize veya yalnızca kaynak bölümünü içeren, kaynak DLL olarak adlandırılabilir. Örnek olarak, simgeler kitaplıklarını, bazen bir ICL uzantısına sahip olabilir ve fon ve fotü uzantısına sahip yazı tipi dosyalarına sahip olabilirsiniz.

Aslen, DLL'nin tanıtımının, çeşitli uygulamalar için kütüphane modülünün yalnızca bir örneğini kullanarak hafıza ve disk alanı etkili bir şekilde düzenleneceği varsayılmıştır. Özellikle önemliydi erken sürümleri Sert bellek kısıtlamaları ile Microsoft Windows.

Daha sonra, modülerlik nedeniyle geliştirme ve sistem ajanlarının kullanımının verimliliğini arttırdığı varsayılmıştır. DLL programlarını bir versiyondan diğerine değiştirmek, uygulamaları etkilemeden sistemi bağımsız olarak artırmasına izin verilmiş olmalıdır. Ek olarak, dinamik kütüphaneler çok yönlü uygulamalarla kullanılabilir - örneğin, Microsoft Office, Microsoft Visual Studio, vb.

Tipik olarak, bilgisayarınızdaki bu dosyanın eksikliği iki nedenden kaynaklanır:

  1. Gerekli kütüphane yüklenmedi.
  2. Gerekli dosya, bilgisayar temizleme programınız tarafından, çöplerden veya olmadığından silinmiştir. gerekli programlar. Bu programlar her zaman çöpleri silmez ve gerekli dosyaları yoktur.

İnsan faktörünü düşünmüyorum (bilgi değil, vb. İçin işlenen eylemler)

Bu kütüphaneler, dosyalar nereden alınır?

Genelde işletim sistemi Gerekli kütüphaneleri içerir, son sürümlerBu dosyalar. Ancak birçok program sadece değil güncellenmiş versiyonlar Ama eskisi. Aksine olur, programın yalnızca yeni kütüphanelere ihtiyacı var ve sistem uzun süre güncellenmedi.

Sistemi güncellemeniz gerektiğini mi düşünüyorsunuz? Bu sorunun tamamen diğerinde bir çözüm yoktur.

Hataları ortadan kaldırın.

Eksik dosyalar iki kütüphanede bulunabilir.

Tipik olarak, bu bir oyunsa, DirectX geliştirme aracını güncellemeniz veya yüklemeniz gerekir.

Bu bir program ise, genellikle yoksundur. microsoft Dosyaları Visual C ++ (MSVC), entegre bir geliştirme ortamıdır.

Ancak her iki bileşeni de yüklemek veya güncellemek gerekir.

Her iki bileşeni de güncelleyerek, yalnızca mevcut sorunu değil, daha sonra bu konuya geri dönüşü de engelleyebilirsiniz.

İçin directX güncellemeleri Geliştiricinin web sitesine gidin ve yürütülebilir DirectX kütüphanesinin sürümünüzü yükseltebileceğiniz yardımcı programı indirin.

Dan microsoft Update Visual C ++ daha karmaşık. Microsoft Visual C ++ çeşitli sürümler içerir ve eksik dosya hangi editörde bilinmiyor.

İstediğiniz sürümü Microsoft web sitesinde indirebilirsiniz. Ancak bu daha zahmetli bir süreçtir, kütüphanelerin birkaç sürümünü indirmeniz gerekir.

DLL - Bir tür dosyaların uzatılması referans materyalleri Belirli programlar yaparken. Dosyaların türünün adı "olarak şifresi çözülür. dinamik Düzen Kütüphanesi" Bu dinamik kütüphaneler eşzamanlı olarak kullanılabilir. farklı uygulamalar. Bazı anlamda onlar da benzer üzerinde yürütülebilir dosyalar Ancak, bazı alanların anlamında farklılık gösterir. En çarpıcı örnek sürücü dosyalarıBu, cihazın ve işletim sisteminin etkileşimi için kuralları tanımlar.

Açık dll den

Bu dosyaları nasıl açacağınızı söylemeden önce, kullanıcının dikkatini bu tür kütüphanenin açılmasında belirli bir anlamın olmadığı gerçeğine çekmelisiniz. İçerdikleri bilgi gerekli program yürütme için. Bu tür dosyalarda son derece nadirdir, önemli değişkenler saklanır (ve bunları aramanın yolu değil) veya veri. Her ne kadar adalet, ancak DLL'deki program programları için gerekli bilgileri düzenlemeyi başaran bir dizi şirket olduğunu not ediyoruz.

Gerçek, dinamik kütüphaneler bazen maruz kalır çürütme İçlerinde depolanan çalışmanın kurallarını ve ilkelerini elde etmek. Bunun için birkaç özel var program.

Programın avantajı da birlikte çalışabilme yeteneğidir. farklı şekiller Dosya Kütüphaneler ve hatta bazılarını düzenleyin. Ama buna değer tekrar tekrar et bu bilgi Tamamen gönderildi aşinalık, Extension.dll ile dosyaları değiştirmeyi deneyin. Kullanıcının kafasına gelebilecek en kötü fikirlerden biri.


Bu program var mı haysiyet? Büyük miktar - Bunun üzerine yapılabilecek eserlerin sadece sahibinin fantezisi tarafından sınırlıdır. FAKAT dezavantaj Sadece bir, ancak önemli - yıllık abonelik 500 dolar.

Sistemde Kurulum Yöntemi

Ancak kitaplıkları yazar ve düzenlerseniz, biz yok sıradan kullanıcılar, kurulumlarını bilmek faydalı olabilir. Gerçek şu ki, tüm programların verilmemesidir. tam takım Gerekli kütüphaneler, onlar ve bireysel bileşenlerle birlikte, kullanıcı tarafından unutulmuş olan bireysel bileşenlerin (oyunları yüklerken çok yaygın bir parça) kurulduğunu ima eder. Sonra gerekli yüklemek, Daha kesin kayıt ol dll dosyaları.

İlk önce dosyayı kendisini bulmanız gerekir. Neyse ki, kapsamlı bir arama ile, o kadar zor değil ve gerekli kütüphaneler, işlerine müdahale etmeyen paketten bile oldukça sık görülür. Oyun durumunda d3dx.dll olabileceğini söylemeye değer. yok Sistemde - bu durumda, DirectX paketini takmak daha iyidir ve 150 kütüphaneyi manuel olarak koymamak daha iyidir.

Ancak gerekirse kayıt ol Programı başlatmak için yeni DLL, o zaman programı olan bir dizine koymak daha iyidir. Windows 7'de ve üstünde, açılma olasılığı var komut satırı Katalogdan, diğer durumlarda açık Komut satırı ve komutu kullanarak cD İstediğiniz kataloğa geçin.

İşletim sisteminin belirtilen sürümleri için açık İstediğiniz katalog ve boş bir yere tokmak için kapatın sağ tık fare. Bize cevap olarak açılır bağlam menüsüAşağıdaki tür:

Tıklamak " komut penceresini açın" Bizden önce görünecek komut satırıAşağıdakileri kaydetmemiz gereken yer:

regsvr32 dllname.dll

Bu komut, sistem tarafından kullanılan listeye, diğer kurulum yöntemlerine zaman kazandırır. İçin İptal etmek Kayıt Böyle bir komutu kullanmalıdır:

regsvr32 -u dllname.dll

Not etmek önemlidirBu DllName.dll bir örnek için girilir ve bunun yerine, noktanın soluna (Dllname yerine) yazıldığından, dosya adınızı girin. Görüntü, DirectX8 dosyasının Windows 10 DLL dosyasına eklenmesini gösterir.

Kütüphaneyi sisteme yüklemek için böyle bir zor yol. Ancak, en küçük başarısızlıklar veya hatalar gözlenirse, hemen başka bir komutu çalıştırmalısınız, kaydı kaldırmalı ve sorun Programı Bir uzmanla iletişim kurun.