靜態庫
ar rcs lib***.a xx1.o xx2.o
生成靜態庫
c 建立乙個庫
s 建立目標檔案索引,在建立較大的庫時,能加快時間 rablib lib***.a 為庫檔案建立索引。
ar t lib***.a 檢視庫檔案內所含目標檔案名字
ar -tv lib***.a 檢視庫檔案內所含目標檔案,顯示檔名、時間、大小
動態庫gcc test.ec -fpic -shared -o lintest.so生成動態庫
呼叫編譯時加入-ltest 加入函式標頭檔案,將庫中函式寫入test.h
編譯程式時#include」 test.h」標頭檔案,在標頭檔案中呼叫需要加上#ifndef 然後#include
庫函式檢視:
檢視動態庫包含的函式
nm函式
strings 動態庫,檢視可列印
Linux靜態庫和動態庫的生成
建立庫 靜態庫 在編譯時就拷貝到應用程式中,因此當多個應用程式同時引用乙個靜態庫時,記憶體中將會有呼叫函式的多個副本。優點 節省編譯時間。動態庫 在程式開始執行後呼叫庫函式時才被載入,被調函式的央存中只有乙個副本,並且動態庫可以在程式執行期間釋放動態庫所占用的記憶體,騰出空間供其他程式使用。建立靜態...
Linux 如何生成靜態庫和動態庫
1 linux下的庫 靜態庫和共享庫 動態庫 二者的不同點在於 被載入的時刻不同。靜態庫的 在編譯過程中已經被載入可執行程式,因此體積較大。共享庫的 是在可執行程式執行時才載入記憶體的,在編譯過程中僅簡單的引用,因此 體積較小。2 庫存在的意義 庫是別人寫好的現有的,成熟的,可以復用的 你可以使用但...
Linux 如何生成靜態庫和動態庫
1 linux下的庫 靜態庫和共享庫 動態庫 二者的不同點在於 被載入的時刻不同。靜態庫的 在編譯過程中已經被載入可執行程式,因此體積較大。共享庫的 是在可執行程式執行時才載入記憶體的,在編譯過程中僅簡單的引用,因此 體積較小。2 庫存在的意義 庫是別人寫好的現有的,成熟的,可以復用的 你可以使用但...