You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Alon Zakai edited this page Jun 7, 2013
·
16 revisions
See Dynamic linking for an older discussion specifically of dynamic linking. This page replaces it.
Use cases
Static linking on the server
This lets people precompile libraries, so each build of their code does not rebuild everything. Also people can share built libraries easily.
Static linking on the client
This allows caching of libraries on the client, and linking them with code that is sent from the server that updates less frequently (and the result is then cached too).
Dynamic code loading on the client
dlopen, dlsym, etc. This is needed for things like Python loading modules are runtime, etc.