Advantages of Dynamic Linking
Dynamic linking has the following advantages over static linking:
- Processes that load a DLL at the same base address can use a single DLL
simultaneously, sharing a single copy of the DLL code in physical memory. Doing this
saves memory and reduces swapping.
- When the functions in a DLL change, the applications that use them do not need
to be recompiled or relinked as long as the function arguments, calling
conventions, and return values do not change. In contrast, statically linked object
code requires that the application be relinked when the functions change.
- A DLL can provide after-market support. For example, a display driver DLL can
be modified to support a display that was not available when the application
was initially shipped.
- Programs written in different programming languages can call the same DLL
function as long as the programs follow the same calling convention that the
function uses. The calling convention (such as C, Pascal, or standard call) controls
the order in which the calling function must push the arguments onto the stack,
whether the function or the calling function is responsible for cleaning up
the stack, and whether any arguments are passed in registers. For more
information, see the documentation included with your compiler.
A potential disadvantage to using DLLs is that the application is not
self-contained; it depends on the existence of a separate DLL module. The system
terminates processes using load-time dynamic linking if they require a DLL that is
not found at process startup and gives an error message to the user. The system
does not terminate a process using run-time dynamic linking in this situation,
but functions exported by the DLL are not available to the program.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database