A statically linked subroutine becomes part of the load module at link-edit time. At execution time, the routine is present when the module is brought into memory from the load library.
A dynamically linked subroutine only establishes "link points" during link-edit. At execution time, the routine is not present when the module is brought into memory but is 'dynamically' loaded when it is called.
The static approach is more efficient but if the subroutine is changed, every program calling it needs to be relinked. With the dynamic approach, relinking is unnecessary since the latest module is loaded from the load library.
What's the difference between static and a dynamic call with respect to their load module creation?