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
;
(2)編譯生成目標檔案#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;
}
(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 語言專案,其目錄結構如...