ダイナミックリンク
共有ライブラリをリンクして生成したバイナリ。サイズが小さい、メモリを食わない等の利点があるので広く使われている。
何も考えずにプログラムをコンパイルするとこれになる
ABIさえ合っていればライブラリにバグがあってもライブラリを置き換えるだけで修正可能
ローダーが仮想メモリを利用して実体を共有するため(そのため共有ライブラリと呼ばれる)同じライブラリを使用するソフトウェアが多数立ち上がってもメモリを食わない(らしい)
ローダー(基本的にlibcの一部)がパス決め打ちで必要な上共有ライブラリが全て参照可能な必要があるので取り回しは悪い
これをなんとかしようとしたものがDockerだったり
Dockerもシングルバイナリ放り込むのが主流なのがなんともいえない