|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Differences Between Applications and DLLs
Even though DLLs and applications are both executable program modules, they differ in several ways. To the end-user, the most obvious difference is that DLLs are not programs that can be directly executed. From the system's point of view, there are two fundamental differences between applications and DLLs:
- An application can have multiple instances of itself running in the system simultaneously, whereas a DLL can have only one instance.
- An application can own things such as a stack, global memory, file handles, and a message queue, but a DLL cannot.
What do you want to do?
What do you want to know more about?
- The advantages of using DLLs
- The different kinds of DLLs available with Visual C++
- Non-MFC DLLs: Overview
- Regular DLLs statically linked to MFC
- Regular DLLs dynamically linked to MFC
- Extension DLLs: Overview
- Which kind of DLL to use