動態庫與靜態庫優缺點比較

2021-08-07 01:33:11 字數 429 閱讀 4771

從本質上來說是一種可執行**的二進位制格式,可以被載入記憶體中執行。庫分靜態庫和動態庫兩種

1. 靜態函式庫

這類庫的名字一般是lib***.a;利用靜態函式庫編譯成的檔案比較大,因為整個 函式庫的所有資料都會被整合進目標**中,他的優點就顯而易見了,即編譯後的執行程式不需要外部的函式庫支援,因為所有使用的函式都已經被編譯進去了。當然這也會成為他的缺點,因為如果靜態函式庫改變了,那麼你的程式必須重新編譯。

2. 動態函式庫

這類庫的名字一般是lib***.so;相對於靜態函式庫,動態函式庫在編譯的時候 並沒有被編譯進目標**中,你的程式執行到相關函式時才呼叫該函式庫裡的相應函式,因此動態函式庫所產生的可執行檔案比較小。由於函式庫沒有被整合進你的程式,而是程式執行時動態的申請並呼叫,所以程式的執行環境中必須提供相應的庫。動態函式庫的改變並不影響你的程式,所以動態函式庫的公升級比較方便。

靜態庫和動態庫的優缺點

靜態庫和動態庫的優缺點 一 庫的型別 一 在windows中 dll 動態庫 lib 靜態庫 庫即為源 的二進位制檔案 二 在linux中 so 動態庫 a 靜態庫 三 靜態庫和動態庫的優缺點 我們通常把一些公用函式製作成函式庫,供其它程式使用。函式庫分為靜態庫和動態庫兩種。靜態庫在程式編譯時會被連...

Linux 靜態庫和動態庫的優缺點

靜態庫在程式編譯時,直接將庫中的 鏈結到可執行程式中。缺點 加入多個程式共同使用同乙個靜態庫,相當於把多段相同的 儲存在不同的可執行程式中,在空間上有一定浪費。1.使可執行程式執行速度快 2.浪費一定的空間 可執行程式只儲存對應的函式引用表,只有程式執行時,再鏈結對應的庫。1.節省空間 2.執行速度...

靜態庫與動態庫的比較

靜態庫的製作 1.通過gcc c add.c 生成目標檔案 add.o 2.通過ar crs o libadd.a add.o 生成靜態庫 libadd.a 3.通過gcc main.c l.ladd 鏈結靜態庫編譯,生成可執行檔案a.out 4.執行a.out即可動態庫的製作 1.通過gcc c ...