Searching
Google[
^] would've gotten you all the answers you needed rather than posting it here.
Here is
a good example[
^] though.
Now, to answer your question, a
dll[^] file, short for
Dynamic Link Library is a library (obviously) a collection of small programs, which can be called upon when needed by the executable program (EXE) that is running. The DLL lets the executable communicate with a specific device such as a printer or may contain source code to do particular functions.
The advantage of DLL files is that, because they do not get loaded into random access memory (RAM) together with the main program, space is saved in RAM. When and if a DLL file is called, then it is loaded. For example, you are editing a Microsoft Word document, the printer DLL file does not need to be loaded into RAM. If you decide to print the document, then the printer DLL file is loaded and a call is made to print.
All in all a DLL is an executable file that cannot run on its own, it can only run from inside an executable file. This would be like having a car without an engine, where as an executable has an engine.
To do load a DLL file, an executable needs to declare the DLL function. A DLL may have many different functions in it. Then when needed the call is made with the required parameters.