靜態庫和動態庫

2021-09-25 22:46:12 字數 825 閱讀 6176

將常用的檔案io函式封裝成自報錯的靜態庫和動態庫,

並要在以後的程式中根據需要調這些庫檔案。

基本的語法學會之後,就需要學會封裝和製作動態庫了。這樣子可以節省很多時間,不需要每次想要使用某個功能,就又要自己寫函式了,只需要瀟灑的呼叫對應的動態庫就行了。

建立乙個.c檔案,非常簡單的功能,就是輸出我是

#include 

voidf(

)

把這個.c檔案變成.o檔案,.o檔案可以放進動態庫

指令如下

gcc -shared -fpic -o liba.so a.o

-o後面是liba,命名是根據你的要求命名的,只需要注意前面必須是lib就行,so後面是你的.o檔案

這個時候已經成功建立了動態庫liba,如果你下次需要使用這個功能的時候,只需要函式宣告和呼叫對應動態庫就可以使用了。

例子如下

main1.c需要使用到f(),

main.c如下

#include "common.h"

void f();

int main()

編譯並連線對應動態庫

gcc main1.c -o main1 -l ./ -la -i ./

為了方便,我只是把動態庫位元組放在了當前檔案下, .代表的就是當前位置,

-l:指定庫所在路徑

-l***:這個是小寫的l,***是動態庫名字,我命名為a。

其實不困難,就是需要注意到時候存放好動態庫的位置,並且需要編譯的時候連線好就可以了。

庫(靜態庫和動態庫)

一 靜態庫 以c語言的形式生成庫 h中extern c int add int int extern c int sub int int 二.測試靜態庫 將.h和.lib放入 h ifdef cplusplus c 程式設計師用c的方式開啟 extern c int add int int exte...

靜態庫和動態庫

一。靜態庫 靜態庫的優點在於使用簡單,編譯快速。靜態庫在應用程式生成時,已經編譯成為可重定位的目標檔案,因此可以不必再編譯,節省編譯時間,以最短的時間生成可執行程式。步奏 a。建立靜態庫 1 在編輯器中編輯其靜態庫函式 static lib.c 2 在shell中編譯該原始檔,生成乙個可重定位的目標...

靜態庫和動態庫

靜態庫 lib 中相當於存放了所有的源 包括他引入的其他靜態lib檔案.其實是所有cpp編譯後對應的.obj檔案的打包 所以靜態lib都比較大。動態庫dll也有lib但是這個lib,只是用來幫助程式在鏈結時定位dll中的函式的位址的。所以會在exe載入時才重定位函式的位址。重定位就是根據鏈結的這個l...