What are the advantages of dynamically linked shared libraries over statically linked shared libraries?
For developers, dynamically linked shared libraries have some big advantages over statically linked shared libraries: • Robustness. Statically linked shared libraries are fragile – even small changes to a library may make it incompatible with the programs that load it. Worse, the tools that build statically linked shared libraries provide few hints about when an incompatibility may be about to attack. The usual symptom of an incompatible statically linked shared library is a core dump… Dynamically linked shared libraries don’t contain fixed offsets for data, they don’t require a fixed order to the list of entry points in the library, and they don’t make you worry about whether one library might overlap with another library. It’s rare for statically linked shared libraries to retain enough compatibility across releases that old binaries will run with new libraries, while with dynamically linked shared libraries, we would expect compatibility rather than be surprised by it. • Interposi