6 10自己製作靜態連線庫 動態鏈結庫並使用

2021-10-24 23:24:28 字數 494 閱讀 4890

(1)第一步:自己製作靜態鏈結庫

首先使用gcc -c只編譯不鏈結,生成.o檔案;然後使用ar工具進行打包成.a的歸檔檔案。庫名不能隨便亂起,一般是lib+庫名稱,字尾名是.a表示是乙個歸檔檔案

注意:製作出來了靜態庫之後,發布時需要發布.a檔案和.**件

//makefile:

all:

gcc pointer8.c -o pointer8.o -c

ar -rc libpointer8.a pointer8.o

(2)第二步:使用靜態鏈結庫

把.a和.h都放在我引用的資料夾下,然後在.c檔案中包含庫的.h,然後直接使用庫中的函式。

第一次編譯方法:gcc test.c -o test

報錯資訊:test.c:(.text+0x9): undefined reference tofunc1' test.c:(.text+0x18): undefined ref

製作靜態庫和動態庫

製作靜態庫的方法 1 把 編譯為目標檔案形式 gcc c liberr.c o liberr.o 2 使用工具ar建立乙個存檔檔案 ar rcs liberr.a liberr.o gcc errtest.c o errtest static l.lerr 製作動態庫的方法 1 首先編譯目標檔案 g...

靜態庫和動態庫製作

1.什麼是庫檔案?儲存函式和變數 倉庫 特點 儲存的函式變數只能使用但不能看到其它實現。靜態庫 a 在編譯階段載入 將庫檔案 載入到原始檔 動態庫 so 在執行時載入。2.生成的可執行檔案存在的區別 優缺點 1 使用靜態庫生成的可執行檔案大於動態庫 程式執行占用記憶體較多 2 使用靜態庫生成的可執行...

靜態庫和動態庫的製作

在現實工作中,要實現 的共享但又不想讓別人知道自己的源 那我們該怎麼做呢?我們可以利用動態庫來保護自己寫的源 不被別人竊取。lib目錄檔案 makefile cc gcc 用ar命令對目標檔案歸檔 格式為ar rcs 生成靜態庫檔案 libtest.a myalib.o ar rcs libtest...