Dinamikus csatolású könyvtár

A DLL (Dynamic Link Library, szó szerint „dinamikus csatolású/hivatkozású könyvtár”) kifejezés az informatikában a Windows operációs rendszerek alkalmazásainak (programjainak) segédfájljait, egészen pontosan az ún. megosztott könyvtárakat jelentik: ezek eljárásokat (függvényeket), a más programokhoz, illetve rendszerekhez való illeszkedést (kompatibilitást) segítő eszközöket, esetleg a programok ikonjait tárolják (utóbbira példa a Windows rendszerkönyvtárában található shell32.dll, moricons.dll, setupapi.dll vagy pifmgr.dll). A DLL-ek .dll kiterjesztésű fájlokként tárolódnak (lásd még: fájlformátum). Egy-egy alkalmazáshoz általában több DLL is tartozik, amelyek nélkül az alkalmazás nem tud működni, és fordítva, egy adott DLL általában több alkalmazás futtatására is alkalmas, hiszen éppen ez jelenti azt, hogy e fájlok tartalma megosztott.

A DLL kifejezést nehéz magyarra fordítani, a Windows honosítását végző informatikai szakembereknek sem sikerült egységes nyelvezetet alkotniuk (de az eredeti, angol nyelvű Windows terminológia sem egységes). A különböző változatokban előfordul a „dinamikus hivatkozású könyvtár”, a „dinamikus szerkesztésű könyvtár” fordítás, jelenleg pedig a „dinamikus csatolású könyvtár” használatos. Néhány Windows rendszerben egyszerűen horribile dictu az „alkalmazás kiterjesztése” (Windows 98 második kiadás) vagy „alkalmazáskiterjesztés” (Windows XP) kifejezés is látható, („application extension”, ami megint csak roppant szerencsétlen a fájlnevek kiterjesztéseivel való keverhetőség miatt), vélhetőleg azért, nehogy elijesszék az embert a hosszú idegen kifejezések.

Példa: a Windows rendszerkönyvtárban található commdlg.dll fájlban többek közt azon egyszerű párbeszédablakok leírásai tárolódnak, melyeken keresztül egy-egy programmal „beszélgetni” szoktunk. E DLL fájlneve egyébként a „common dialog” kifejezés rövidítése.

A „dinamikus” szerkesztés, csatolás stb. kifejezések arra próbálnak utalni, hogy a DLL-ben tárolt adatok csak akkor töltődnek be az operatív memóriába, ha azokat a program meghívja, vagyis ilyenkor dinamikusan szerkesztődik össze a hívó program és a DLL-ből meghívott eljárás.

A „könyvtár” (library) kifejezés egyszerűen arra utal, hogy a fájl adatokat tárol, amelyeket a Windows-programok szükség esetén „kikölcsönöznek”. A magyar fordítás kicsit szerencsétlen, mert a régebbi Windows rendszerek integráns részeként is létező DOS rendszerek nyelvén a „könyvtár” kifejezés már foglalt volt a meghajtók adatokat nem tartalmazó logikai egységeire, melyek a fájlokat tartalmazzák; bár ezeket az egységeket a Windows terminológiája már „mappának” nevezi. A könyvtár elnevezés helyett talán szerencsésebb lenne a „függvénytár” elnevezés. Ezt a terminológiai káoszt egyébként a DOS magyarítása idézte elő: az angol DOS-os „directory” szó ugyanis nem könyvtárat, hanem címtárat, tartalomjegyzéket jelent.

A DLL-eknek sok előnye és hátránya van. Alapvetően azért hozták létre őket, hogy az egyéni programozók könnyebben készíthessenek a Windows rendszerek alatt futó programokat, a DLL-ekben tárolt függvényeket felhasználva, és ezáltal a Windows használhatósága és elterjedtsége még nagyobb legyen. A rájuk való építés azt is eredményezi, hogy sok DLL-fájl nélkül az őket meghívó programok nem képesek működni. Tapasztalatlan felhasználók sokszor egyszerűen törlik ezeket, és aztán észreveszik, hogy az illető program nem fut, váratlan hibát okoz, vagy újratelepítését kéri.

A Windows-programoknak, különösen a rendszerprogramoknak (melyek a Windows operációs rendszer integráns részét alkotják, és azzal együtt telepítésre kerülnek) más segédfájljaik is vannak: a legfontosabbak a *.dat fájlok („adatfájlok”), és a .bin fájlok („bináris fájlok” [ide vehetjük még az .ico fájlokat, vagyis az ikonokat]).

Források

  • Hart, Johnson. Windows System Programming Third Edition. Addison-Wesley, 2005. ISBN 0-321-25619-0
  • Rector, Brent et al. Win32 Programming. Addison-Wesley Developers Press, 1997. ISBN 0-201-63492-9.

Kapcsolódó szócikkek

  • DLL hell

További információk

  • __declspec C++ Language Reference on MSDN
  • dllexport, dllimport[halott link] on MSDN
  • Dynamic-Link Libraries on MSDN
  • What is a DLL? on Microsoft support site
  • Dynamic-Link Library Functions on MSDN
  • Microsoft Portable Executable and Common Object File Format Specification
  • Simple C++ DLL Loading a Message Box Tutorial Archiválva 2009. január 6-i dátummal a Wayback Machine-ben
  • Win32 DLL on www.functionx.com. Tutorial for making and using DLLs
  • Delay Load Dlls Error Recovery on www.codemaestro.com.
  • Loading a DLL from memory
  • Creating a Windows DLL with Visual Basic
  • Using DLLs from native Python code
  • Common DLL Errors and Fixes in Windows Vista
  • Microsoft specification for dll files
Sablon:Windows-komponensek
  • m
  • v
  • sz
A Microsoft Windows komponensei
Menedzsmenteszközök
  • CMD.EXE
  • Vezérlőpult
  • Eszközkezelő
  • Lemezkarbantartó
  • Töredezettségmentesítő
  • Illesztőprogram-ellenőrző
  • Eseménynapló
  • IExpress
  • Management Console
  • Netsh
  • Windows Error Reporting
  • Recovery Console
  • Resource Monitor
  • ScanDisk
  • Sysprep
  • System Configuration
  • System File Checker
  • System Policy Editor
  • System Restore
  • Task Manager
  • Windows Easy Transfer
  • Windows Installer
  • Windows PowerShell
  • Windows Update
  • WinPE
  • WinRE
  • WMI
Alkalmazások
Shell
Szolgáltatások
  • Service Control Manager
  • BITS
  • CLFS
  • Multimedia Class Scheduler
  • Shadow Copy
  • Task Scheduler
  • Error Reporting
  • Wireless Zero Configuration
Fájlrendszerek
Szerver
  • Tartományok
  • Active Directory
  • Csoportházirend
  • DNS
  • Roaming user profiles
  • Folder redirection
  • Distributed Transaction Coordinator
  • MSMQ
  • Windows Media Services
  • Rights Management Services
  • IIS
  • Remote Desktop Services
  • WSUS
  • SharePoint
  • Network Access Protection
  • PWS
  • DFS Replication
  • Remote Differential Compression
  • Print Services for UNIX
  • Remote Installation Services
  • Windows Deployment Services
  • System Resource Manager
  • Hyper-V
  • Server Core
Architektúra
  • Architecture of Windows NT
  • Startup process
  • CSRSS
  • Desktop Window Manager
  • Portable Executable
    • EXE
    • DLL
    • Enhanced Write Filter
  • Graphics Device Interface
  • hal.dll
  • I/O request packet
  • Imaging Format
  • Kernel Transaction Manager
  • Library files
  • Logical Disk Manager
  • LSASS
  • MinWin
  • NTLDR
  • Ntoskrnl.exe
  • Object Manager
  • Open XML Paper Specification
  • Regisztrációs adatbázis
  • Resource Protection
  • Security Accounts Manager
  • Server Message Block
  • Shadow Copy
  • SMSS
  • System Idle Process
  • USER
  • Win32 console
  • Winlogon
Biztonság
  • Action Center
  • BitLocker
  • Data Execution Prevention
  • Family Safety
  • Kernel Patch Protection
  • Mandatory Integrity Control
  • Protected Media Path
  • Felhasználói fiókok felügyelete
  • User Interface Privilege Isolation
  • Windows Defender
  • Windows Firewall
Kompatibilitás
  • COMMAND.COM
  • Windows Services for UNIX
    • POSIX subsystem
    • Interix
  • Virtual DOS machine
  • Windows on Windows
  • WoW64
API
Megszűnt
Játékok
  • 3D Pinball
  • Chess Titans
  • FreeCell
  • Hearts
  • Hover!
  • InkBall
  • Hold 'Em
  • Mahjong Titans
  • Minesweeper
  • Purble Place
  • Reversi
  • Solitaire
  • Spider Solitaire
  • Tinker
Egyebek
  • ActiveMovie
  • Névjegytár
  • Backup and Restore
  • Cardfile
  • CardSpace
  • Diagnostics
  • DriveSpace
  • DVD Maker
  • DVD Player
  • Fax
  • File Manager
  • File Protection
  • HyperTerminal
  • Internet Mail and News
  • Mail
  • Media Control Interface
  • Meeting Space
  • Messaging
  • Messenger
  • NetMeeting
  • Next-Generation Secure Computing Base
  • NTBackup
  • Outlook Express
  • Photo Gallery
  • Program Manager
  • Video for Windows
  • Oldalsáv
  • Windows SideShow
  • WinHelp
  • WinSAT
  • Write
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap