linux系統下的共享庫是真正的共享庫,同名庫在內存、硬盤中只有一份,所有程序都共享這一份庫。一旦庫文件升級,系統裏面的所有程序都受影響。這就是linux一升級glibc庫,整個系統都掛掉的原因。更麻煩的是,整個系統同名庫只允許存在一個版本。如果A軟件依賴C庫的v1.0版本,B軟件依賴C庫的v1.1版本,那麼A、B兩個軟件就無法共存。
而windows則不同,每個軟件都在自己的安裝目錄下放了一份dll,每個軟件可以只使用自己安裝目錄下的dll庫文件,一個共享庫只供一款軟件使用,在同名庫在內存中可以存在多份。這保證了A、B兩個軟件都能正常使用。