DLL File Errors

A dynamic link library (DLL) is a file that contains several small programs that can be used by other applications running on your computer. The primary purpose is to make programming applications more modular by reusing existing code. Modular construction makes it easier for the supplier to make changes without have to completely rewrite the application. Many device drivers are packaged as DLL files. For those of us who are familiar with programming functions and subroutines, a dynamic link library file is just a collection of functions and subroutines that can be called by any process running on the computer.

Another reason for creating dynamic link libraries was Microsoft’s idea of locating all of the files needed by application in a central location to minimize the time the computer needed to locate the file so it could load it into memory.

Some common used windows DLL files include: msvcr80.dll which is needed to run programs compiled with Visual Studio 2005 and iexplore.dll which is a Browser Helper Object (BHO) that runs automatically every time you start your Internet browser. When either one of these files is missing or corrupt, the application calling it will not run.

Advantages of Using DLL Files

There are several advantages to application programmers using dynamic link library files such as:

  • DLLs use very little memory - since the programming code and it companion data stored in the DLL are only loaded into memory when needed, DLLs use very little memory and can be placed into read-only memory pages which allow any application to use it saving greatly on duplication of effort and storage space.
  • Reduces Page Swapping - normally a computer moves data into and out of memory whenever it uses it. As a result, if a process uses a file, that file is loaded into memory when called and unloaded when the process finishes. Rather than constantly loading and unloading DLLs, the operating system just maps them to the address space of the new process which eliminates the need to keep loading and unloading the DLL each time it is requested.
  • Generic Code - once developed, a DLL can be used in any application created which saves a lot of time and effort for application developers.
  • Provides interoperability between programming languages - a dynamic link library written in one programming language can be used in applications written in a different programming language. It is a common practice for developers to write optimized routines in an assembly language and package them as a DLL then later call them from a C++ or Visual Basic application.
  • Allows easier updates - If a problem develops, or a new feature is desired, a programmer can create a new DLL as an upgrade to the applications rather than completely rewriting all of the code.

Disadvantages of Using DLL Files

  • DLL compatibility errors - sometimes when a program fails to load, it will display an error message such as the ordinal 0×876 could not be located in the dynamic-link library xyz.dll or you install a new application and some other programs stop working correctly. This is usually the result of a new DLL that is not backward compatible with older versions of the same dynamic link library. This usually happens because the programmer did not sufficiently test the new DLL to make sure it would support all of the functions of the earlier version
  • DLL naming errors - a new application is installed and the entire system crashes. This occurs when a programmer accidentally names his new DLL with the same name as an operating system DLL and thus effectively overwrites it causing the system to crash.
  • Missing .dll - The system tells you it can not find a specific DLL and refuses to open the application. This happens when the dynamic link library was not included in the installation package or the DLL file has somehow become corrupted.

Fixing DLL Errors

Developers should always be very careful not to name a new dynamic link library with an existing system DLL filename. They should also include the most recent version of any DLL files they need to use in the installation package and store then in its own program directory. That way they will not crash the system and they will have everything they need to run their application.

If a missing .dll error occurs, you should be able to download the missing file from http://www.dll-downloads.com/ . This site also provides tutorials on how to both download the file and where to put it after downloading.

 

Did you find this article helpful? Please help share it!

  Stumble This Article     Add to Del.icio.us    Digg This!