Dynamic link library, DLL, is a file format that is used to hold multiple procedures and codes for windows programs. These files were created with the intention of making it possible for multiple programs to use information at the same time so that memory conservation is aided in the end. The files also make it possible for users to edit coding for the multiple applications all at the same time without necessarily changing the applications. The files contain data, codes and resources and they come with a number of advantages.
They save memory. This is in the sense that the files can share single DLL copy in memory. It eliminates the need for Windows to load a copy of library code for every application in memory as it is usually the case with static link library. The DLL files also reduce swapping thus making the execution of tasks much easier and faster.
They save on disk space. This is also as a result of the possibility to share single DLL copy on the disk rather than having a library code for every application built with static link library to create executable images for separate copies.
DLL makes upgrades very easy. Unlike statically linked object codes that need relinking when there is change in function, applications using DLL do not need to be relinked or recompiled so long as function return values and arguments remain unchanged.
They offer reliable after-market support. This is made possible by the fact that the display driver on dynamic link library can be modified easily to support display that was not initially there when the application was shipped. Users therefore need not be left out when it comes to keeping up with the latest and enjoying the superior support they may need.
DLL makes it easy to create international versions. This is because resources can easily be placed into a dynamic link library making it easy for international versions of a given application to be created. Users simply need to place strings for every language version of the application in separate DLL resource and different language versions load to the appropriate resources.
The files support multi-language programs. The same DLL function can be used for programs written in various programming languages as long as the programs follow function’s calling convention. The DLL function and programs should be compatible in order of function arguments to be pushed onto stack, function responsibility in cleaning up stack and arguments passed in registers.
Dynamic link library are application extensions and have common codes between many applications. Even though they are popular in Windows, they are also present in Unix and Linux and are commonly referred to as shared libraries. Using DLL, there is possibility of extending MFC library classes and placing them into MFC extension DLL so they can be used by MFC applications. There is really so much that can be done using DLL files and the many advantages of this link library is what makes them very popular among users.