No, the main difference is that dynamic linking allows you load an unload dlls at any time. It also allows you to dynamically specify which dlls to load, as opposed to implicit linking. Dynamic linking will also allow to ignore if a dll fails to load or provide your own custom error messages.