靜態連線就是把外部函式庫,拷貝到可執行檔案中。
優點:適用範圍比較廣,不用擔心使用者機器缺少某個庫檔案;
缺點:安裝包會比較大,而且多個應用程式之間,無法共享庫檔案。
動態連線的做法正好相反,外部函式庫不進入安裝包,只在執行時動態引用。
優點:安裝包會比較小,多個應用程式可以共享庫檔案;
缺點:使用者必須事先安裝好庫檔案,而且版本和安裝位置都必須符合要求,否則就不能正常執行。
現實中,大部分軟體採用動態連線,共享庫檔案。這種動態共享的庫檔案,linux平台是字尾名為.so的檔案,windows平台是.dll檔案,mac平台是.dylib檔案。
動態鏈結 靜態鏈結(區別及優缺點)
靜態鏈結與動態鏈結的區別 在c語言中,我們知道要生成可執行檔案,要經歷預編譯 編譯 彙編 鏈結,在鏈結過程中,靜態鏈結和動態鏈結就出現了區別。靜態鏈結的過程就已經把要鏈結的內容已經鏈結到了生成的可執行檔案中,就算你在去把靜態庫刪除也不會影響可執行程式的執行 而動態鏈結這個過程卻沒有把內容鏈結進去,而...
靜態庫和動態庫的優缺點
靜態庫和動態庫的優缺點 一 庫的型別 一 在windows中 dll 動態庫 lib 靜態庫 庫即為源 的二進位制檔案 二 在linux中 so 動態庫 a 靜態庫 三 靜態庫和動態庫的優缺點 我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時會被連...
Linux 靜態庫和動態庫的優缺點
靜態庫在程式編譯時,直接將庫中的 鏈結到可執行程式中。缺點 加入多個程式共同使用同乙個靜態庫,相當於把多段相同的 儲存在不同的可執行程式中,在空間上有一定浪費。1.使可執行程式執行速度快 2.浪費一定的空間 可執行程式只儲存對應的函式引用表,只有程式執行時,再鏈結對應的庫。1.節省空間 2.執行速度...