Definition of a dll:
An executable program module that performs some function. DLLs are widely used in Windows, but they are not launched directly by the user. When needed, they are called for by a running application and are loaded to provide additional functionality. DLLs can be rather simple, such as providing the ability to display a 3-D border around a dialog box (CTL3DV2.DLL), or as complicated as a full-blown language interpreter such as a Visual Basic runtime module (VBRUN400.DLL).
DLLs are generally written so that their routines are shared by more than one application at the same time.
Definition of COM (Component Object Model)
A "component" is a building block program that is self-describing. This means that it can be run with a mix of other components and each will be able to understand the capabilities and characteristics of the other components. Practically, this means that a new application can be built by reusing components already known to exist and without having to compile the application. It also makes it relatively easy to distribute different components of an application among different computers in a network. Microsoft's Distributed Component Object Model (DCOM) adds interfaces to do this.
In addition to its self-description, a component consists of one or more classes that describe objects and the methods or actions that can be performed on an object. A class (or coclass in COM+ terminology) has properties described in an interface (or cointerface). The class and its interface are language-neutral.
Associated with the class are one or more methods and fields that are implemented in a specific language such as C++ or Java or a visual programming environment. When you instantiate a class, you create an object (something real that can be executed in the computer). Sometimes the term "class" is also used for the instantiated object (which can be confusing).
Using COM, objects (or classes) and their methods and associated data are compiled into binary executable modules, that are, in fact, files with a dynamic link library (DLL) or EXE file name suffix. A module can contain more than one class.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.