The DLL is the abbreviation of the Dynamic Link Library and it is a memory management feature that can include all the basic functions that are required by all programs in modules that contain sets of functions commonly used by applications. The DLL principle consists in the fact that a running program “knows” before which function it must use to perform specific processing and thus communicates what the DLL should use from the launch. If Windows finds the DLL you are looking for, it loads it and executes it, and then ends up controlling the caller program upon termination.
The undeniable advantage of DLLs is to save memory for applications that share basic features, share less memory.
A DLL file is inserted only once in memory regardless of which programs it accesses its functions.
All new application-specific features (OLE, multimedia) are introduced through function library libraries: DLL.
Advantages of DLLs:
1. Uses fewer resources
When multiple programs use the same function library, a DLL can reduce the duplication of code that is loaded onto disk and physical memory.
This can greatly influence the performance not only of the program that runs in the background, but also other programs running on the Windows operating system.
2. They promote a modular structure
A DLL helps you to promote programs that have a modular structure in development. This enables us to develop a large number of programs that require multiple language versions or a program that requires a modular structure. An example of a modular program is an accounting program that has many modules that can be loaded dynamically at the time of execution.
3. Facilitate implementation and installation
When a function within a DLL requires an update or a fix, it is not necessary that the program be downloaded again. Additionally, if multiple programs use the same DLL, all programs will benefit from update or remediation.
For various programs to use binary components, there must be some standard to implement how binary classes and objects are called and used. The standard method that does this for Microsoft products has evolved over time. Microsoft Windows has introduced a Dynamic Link Library (DLL) where one or more programs can use part of the code stored in a separate file. This worked at the bottom level if the programs were written in the same language (usually C). However, the programs needed to know in advance a lot of information about the DLL they were using and the DLLs did not allow the programs to exchange data between them.
To enable data exchange, DDE (Dynamic Data Exchange) was created. It defined a format and a mechanism to send data from one program to another, but it was not flexible enough.
OLE 1.0 (Object Linking and Embedding) followed that allowed a document like the Word file to contain a document from another program (such as Excel). OLE 1.0 functioned as a component, but it was not a standard component. Most of the issues with which DLLs are associated have been removed by using assemblies. An assembly is a logical functionality unit that runs under .NET common language runtime (CLR).