(under subclass 300) Subject matter wherein functions contained within one or more executable code libraries (e.g., a dynamic link library or DLL) are called as needed at runtime by one or more application programs.
(1) Note. For clarification, dynamic linking is distinguished from static linking in that very large programs can be executed in a limited memory space by loading and invoking external executable libraries only when needed at run time. The main executable program is much smaller than would result if the libraries and object files had been statically linked prior to runtime. In addition, multiple applications may reference a single dynamic link library (DLL). This eliminates redundant code and results in a more
modular system. Also, existing programs can be readily updated without recompilation by providing updated DLLs.
(2) Note. In implicit dynamic linking, links between calls in the application and functions in the DLL are resolved at link time. In explicit dynamic linking, links between calls in the application and functions in the DLL are resolved at run time.