What is a Dynamic Link Library (DLL) File??

technonick

Newcomer
Hi i am studying for the A+ exam and have a couple questions that i will be asking, so bare with me please. Does this have something to do with drivers that aren'tr in config.sys?????
 
DLL's

A Dynamic Link Library (DLL), is basically afile containing functions to be used by applications. This allows you to reuse the same code in multiple applications such as code to display a message box (best example I could come up with).
Also it allows different implementations of the same interface.
As an example take 3d drivers,
all get called using the same function calls but their implementation of the functions is completely different depending on the card hardware.

Functions are exported from a DLL (made to be) and imported into an application. This basically means that the application knows that it does not have the code for the function and will load the dll at runtime to get access to the function.

Hope this is clear, I am not an expert at these things but this is the basic gist.
 
You should be aware that config.sys is a file that was used to load drivers for MS-DOS and the earlier Windows variants.

Windows 98 was the last operating system to have this file and even then it wasn't used for anything other than supporting legacy stuff (eg DOS mode sound drivers). I could be wrong but I don't think Win ME has config.sys.

DLLs are used within Windows (all variants) and so were never used in conjunction with config.sys (unless someone wants to prove me wrong ?)
 
Dynamic Link Libraries are collections of similar functions. For example the gdi32.dill contains 2D GUI interface functions. The big difference between dynamically and statically linked libraries are in the way they are used.

The older style static libraries required a program to compile in all the library code too (making programs much larger).

The DLL allows a programmer to only include the pieces of code that are required. And even better than that, the programmer only has to make a request for the base address of the library (when it is opened) and then make calls to the various functions.

Since they are dynamic they can be anywhere in memory the OS builds a list of offsets to each library function and translates program calls to functions using those offsets. Also you only need one copy of the library in memory at a time, all programs that require access to the library can access the same copy.

Hope that helps.
 
DLL is a M$ name, they are called 'so' under *nix.

The other interesting thing about them is that they are shared (any program can use them), and they make upgrading easier (just replace a 'dll'/'so' by a newer compatible version).
 
Back
Top