程式設計 函式庫 動態庫 靜態庫

2021-10-18 03:51:21 字數 453 閱讀 6949

通常被認為是函式庫,說白了就是乙個檔案,檔案中包含大量的函式實現的二進位制**指令(比如我們所使用printf函式)

動態庫:鏈結動態庫生成可執行程式,並沒有把庫中函式的實現指令直接拿過來寫入可執行程式中,而是在可執行程式中記錄了庫中函式的符號資訊。

優缺點:生成可執行程式比較小,執行時動態庫被載入到記憶體中,可以多個程式使用同乙份記憶體中庫函式**;缺點是執行時需要依賴動態庫的存在,不存在則無法執行

靜態庫:鏈結靜態庫生成可執行程式,直接將庫中我們用到的函式的實現**指令,寫入到了可執行程式檔案中,程式執行的時候沒有什麼依賴

優缺點:程式執行沒有其他依賴,可以直接執行;但是可執行程式比較大,並如果多個程式使用同乙個庫中的函式,則這些程式同時執行時,則目同的庫函式**在記憶體中會存在多份,各是各的。

函式庫的靜態庫和動態庫

函式庫分為靜態庫和動態庫兩種 靜態庫在程式編譯是會被鏈結到目標 中,執行時不再需要 動態庫在程式執行時並不會被鏈結,在程式執行時才被載入 靜態庫製作 1.自己編寫源 c 2.對製作的原始檔進行只編譯不鏈結.o gcc.c c o o 3.對目標檔案進行打包 ar rc libyyy.a yyy庫名 ...

靜態函式庫與動態函式庫的設計

函式庫存放位置 linux應用程式使用的主要函式均放在 lib和 usr lib目錄下,其中採用 so.命名的是動態函式庫,而以 a方式命名的是靜態函式庫。靜態函式庫的特點 程式所要用到的庫函式 在鏈結時全部被copy到程式中。導致的問題 如果有多個程序在記憶體中同時執行,並且使用了相同的函式庫,那...

Linux 下的靜態(函式)庫 動態(函式)庫

不用指定生成.o檔名 預設生成file1.o,file2.o,file3.o ar rv libname.a file1.o file2.o file3.or 將flie1.o,file2,o,file3.o插入archive,如故原先archive中已經存在某檔案,則先將該檔案刪除。v 顯示ar操...