靜態庫建立與鏈結

2022-09-08 10:15:14 字數 1507 閱讀 3399

1、靜態庫的建立

(1)編寫原始檔

(2)g++  -c  ***.cpp編譯生成 目標檔案

(3)使用ar命令將目標檔案歸檔生成靜態庫

ar  -crv  libfile_operation.a  file_operation.o

選項說明:

c 如果需要生成新的庫檔案,不要警告

r 代替庫中現有的檔案或者插入新的檔案

v 輸出詳細資訊

ar  -t  libfile_operation.a檢視該靜態庫中包含的目標檔案

2、靜態庫的鏈結

g++  main.cpp  -l.  -lfile_operation

-l指定搜尋庫的路徑,這裡指定了當前目錄

-l指定鏈結庫的名稱

3、示例

(1)原始檔

標頭檔案

#include #include #include #include #include using namespace std;

class cfileoperation

;

原始檔

#include "file_operation.h"

//建構函式

cfileoperation::cfileoperation(string file_path):

file_fd_(null),

file_path_(file_path){}

//析構函式

cfileoperation::~cfileoperation()

}//開啟或建立檔案

int cfileoperation::open_file()

file_fd_ = file;

return 0;

}//關閉檔案

int cfileoperation::close_file()

return 0;

}//寫資料

int cfileoperation::write_data(const char* buf, const uint32_t write_length)

return 0;

}//讀資料

int cfileoperation::read_data(char* &buf, const uint32_t read_length)

size_t read_ret = fread(buf, 1, read_length, file_fd_);

if(read_ret != (size_t)read_length)

return 0;

}//指定偏移量

int cfileoperation::seek_offset(uint32_t offset)

return 0;

}

(2)編譯生成目標檔案

(3)歸檔生成靜態庫

(4)靜態庫鏈結

建立靜態鏈結庫 動態鏈結庫

下面的實操中的動態庫或者靜態庫名都用wujunwu 第一步 建立乙個源 建立靜態鏈結庫的源 include void func1 void int func2 int x,int y 第二步 建立乙個.件作為函式宣告 void func1 void intfunc2 int x,int y 第三步 ...

建立MFC靜態鏈結庫

一 建立靜態鏈結庫 件中 class calculator cpp檔案 編譯,生成.lib檔案。專案屬性根據應用情況設定 把mylib.h mfc靜態鏈結庫.lib檔案拷貝到專案中,就能使用靜態鏈結庫了。二 新建乙個對話方塊程式測試。專案屬性 件中 include inc mylib.h pragm...

mysql 靜態鏈結庫 靜態鏈結庫的建立和使用

通過 gcc使用靜態鏈結庫和動態鏈結庫 一節的學習,讀者已經了解了什麼是庫檔案 什麼是靜態鏈結庫和動態鏈結庫以及它們之間的區別。同時文章中還提到,在 c c 實際開發過程中,除了可以使用系統庫檔案外,我們還可以根據實際需要,手動建立靜態鏈結庫或者動態鏈結庫。假設當前有乙個 c 語言專案,其目錄結構如...