Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/index.php on line 54

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebStart.php on line 63

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 94

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 97

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 100

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 103

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Defines.php on line 187

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 115

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 134

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 137

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 139

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 144

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 145

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/LocalSettings.php on line 153

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 150

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/WebStart.php on line 157

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 381

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 382

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 383

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Setup.php on line 384

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/languages/Language.php on line 20

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/Skin.php on line 155

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: include(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/languages/Language.php on line 668

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/AutoLoader.php on line 1007

Warning: require_once(): Unable to allocate memory for pool. in /usr/local/www/mediawiki/includes/json/FormatJson.php on line 12
Dynamic-link library (Windows) - Just Solve the File Format Problem

Dynamic-link library (Windows)

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(this is not a file format)
(Undo revision 26411 by Felix (talk) See discussion page for reasons)
Line 1: Line 1:
"Dynamic-link library" is not a file format; it is a name for dynamically-loadable object files (shared objects) used on the Windows platform, where such files have various extensions, most commonly <code>[[:Category:File formats with extension .dll|.dll]]</code>. Dynamic-link libraries may be in any of the following formats:
+
{{FormatInfo
 +
|formattype=electronic
 +
|subcat=Executables
 +
|extensions={{ext|dll}}, {{ext|ocx}}, {{ext|drv}}
 +
}}
 +
A '''dynamic-link library''' (DLL) is a Microsoft Windows method of having separately-compiled modular routines able to be loaded at run-time when needed by programs. The various versions of Windows include a large number of such files used by system programs and other software, and third-party software is likely to include other files of this sort, some specific to one program and some shared by multiple programs.
  
* [[New Executable]]
+
There are lots of problems and pitfalls related to these files. Programs may install different versions of the same DLL on top of the previously existing one, possibly breaking other software that depends on the other version and is incompatible with the one just installed. Or if a program's installer avoids this problem by installing its DLLs in a different directory from others of the same name (which might be different versions of a DLL or totally different ones that just happened to be named the same), a system might still have a poorly-set path variable that causes the wrong version to be used, and trying to untangle which file is supposed to be used by which program is a difficult task even for a technically knowledgeable user. Then when you uninstall a program, perhaps it will delete all its DLLs (perhaps breaking a different program that also uses them), or perhaps it will leave them in place (even if no other program uses them), contributing to the mess and bloat that plagues Windows PCs in their old age.
* [[Portable Executable]]
+
  
{{Disambiguation}}
+
If a program crashes due to lack of a required DLL, perhaps you'll Google it and run into a site that purports to make it available for download... but then tries to push you into downloading and installing their own spyware/adware as well. Watch out! You're best going to the appropriate software manufacturer's site (e.g., Microsoft's if it's a part of the Windows system, or the third-party software company for the package that the DLL is connected with).
 +
 
 +
== Format ==
 +
 
 +
DLLs are of a related format to [[COFF]], originally a UNIX-based format which was given a "Microsoft twist" for use in Windows. The Windows form of [[EXE]] files ([[PE|PE executable]]) is of a similar format, but designed to run directly as a standalone program rather than be loaded within already-running programs as DLLs are.
 +
 
 +
The normal file extension is .dll, but .ocx is also found for libraries containing [[ActiveX]] controls, and .drv for system drivers (of an old legacy format). Additionally, some other formats such as the Windows [[icon library]] file use similar format, but limited to particular sorts of content rather than the full range of executable program routines and resource data which can be stored in a DLL.
 +
 
 +
== Specifications ==
 +
* [http://msdn.microsoft.com/library/windows/hardware/gg463125 Microsoft PE and COFF Specification]
 +
 
 +
== Links ==
 +
* [[Wikipedia:Dynamic-link library|Dynamic-link library (Wikipedia)]]
 +
* [http://support.microsoft.com/kb/87934 Definition and Explanation of a .DLL file]
 +
* [http://msdn.microsoft.com/en-us/library/ms682589.aspx Dynamic-Link Libraries]
 +
* [http://www.tutorialspoint.com/dll/ DLL tutorial]
 +
* [https://en.wikibooks.org/wiki/Windows_Programming/Dynamic_Link_Libraries Wikibooks: Programming Dynamic Link Libraries]
 +
 
 +
[[Category:Microsoft]]

Revision as of 15:42, 17 September 2016

File Format
Name Dynamic-link library (Windows)
Ontology
Extension(s) .dll, .ocx, .drv

A dynamic-link library (DLL) is a Microsoft Windows method of having separately-compiled modular routines able to be loaded at run-time when needed by programs. The various versions of Windows include a large number of such files used by system programs and other software, and third-party software is likely to include other files of this sort, some specific to one program and some shared by multiple programs.

There are lots of problems and pitfalls related to these files. Programs may install different versions of the same DLL on top of the previously existing one, possibly breaking other software that depends on the other version and is incompatible with the one just installed. Or if a program's installer avoids this problem by installing its DLLs in a different directory from others of the same name (which might be different versions of a DLL or totally different ones that just happened to be named the same), a system might still have a poorly-set path variable that causes the wrong version to be used, and trying to untangle which file is supposed to be used by which program is a difficult task even for a technically knowledgeable user. Then when you uninstall a program, perhaps it will delete all its DLLs (perhaps breaking a different program that also uses them), or perhaps it will leave them in place (even if no other program uses them), contributing to the mess and bloat that plagues Windows PCs in their old age.

If a program crashes due to lack of a required DLL, perhaps you'll Google it and run into a site that purports to make it available for download... but then tries to push you into downloading and installing their own spyware/adware as well. Watch out! You're best going to the appropriate software manufacturer's site (e.g., Microsoft's if it's a part of the Windows system, or the third-party software company for the package that the DLL is connected with).

Format

DLLs are of a related format to COFF, originally a UNIX-based format which was given a "Microsoft twist" for use in Windows. The Windows form of EXE files (PE executable) is of a similar format, but designed to run directly as a standalone program rather than be loaded within already-running programs as DLLs are.

The normal file extension is .dll, but .ocx is also found for libraries containing ActiveX controls, and .drv for system drivers (of an old legacy format). Additionally, some other formats such as the Windows icon library file use similar format, but limited to particular sorts of content rather than the full range of executable program routines and resource data which can be stored in a DLL.

Specifications

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38

Warning: Cannot modify header information - headers already sent in /usr/local/www/mediawiki/includes/WebResponse.php on line 38