Beim dynamischen Linken fügt der Linker anstatt von Subroutinen-Code nur einen “Stub” in das Programm ein. Dieser Stub hat (wie beim RPC) nur die Aufgabe, die Subroutine aufzurufen. Das Betriebssystem prüft, ob die Subroutine bereits geladen wurde und lädt sie ggf. nach. Dies ist vor allem dann sinnvoll, wenn ganze Bibliotheken von Subroutines benötigt werden, die dynamisch geladen werden sollen. Solche Bibliotheken nennt man Shared Libraries (.so in Linux, .dll in Windows).