1. 程式人生 > >動態編譯和靜態編譯的區別

動態編譯和靜態編譯的區別

動態編譯的可執行檔案需要附帶一個的動態連結庫。在執行時,需要呼叫其對應動態連結庫中的命令。所以其優點一方面是縮小了執行檔案本身的體積,另一方面是加快了編譯速度,節省了系統資源。缺點一是哪怕是很簡單的程式,只用到了連結庫中的一兩條命令,也需要附帶一個相對龐大的連結庫;二是如果其他計算機上沒有安裝對應的執行庫,則用動態編譯的可執行檔案就不能執行。 靜態編譯就是編譯器在編譯可執行檔案的時候,將可執行檔案需要呼叫的對應動態連結庫(.so或.lib)中的部分提取出來,連結到可執行檔案中去,使可執行檔案在執行的時候不依賴於動態連結庫。所以其優缺點與動態編譯的可執行檔案正好互補。