靜態庫lib的編寫

2021-08-02 23:00:23 字數 1764 閱讀 8709

最早在學習的時候,寫庫檔案比較少,所以有些記不清楚,今天寫下來以便以後的學習和複習。

我寫乙個簡單的lib庫,正所謂知微見著,希望也能給大家帶來幫助。

我使用的是vs2013編寫庫,首先建立乙個靜態庫的工程,如下圖所示:

然後寫乙個標頭檔案命名為:lib.h

內容為:

#ifndef _lib_h_

#define _lib_h_

extern "c" int max(int first, int second);

extern "c" int min(int first, int second);

extern "c" int sum(int first, int second);

extern "c" int sub(int first, int second);

#endif

然後寫乙個cpp檔案,命名為:demolib.cpp

內容為:

#include "stdafx.h"

#include "lib.h"

int max(int first, int second)

int min(int first, int second)

int sum(int first, int second)

int sub(int first, int second)

貼圖顯示:lib.h檔案和demolib.cpp檔案

我們編譯完成後就會生成乙個庫檔案:demolib.lib。這個是我們下面需要的。

如圖所示:

該檔案在dubug目錄下。但注意在生成的工程的dubug目錄下,不在子專案的dubug目錄下。

現在這個就是我們要使用的庫檔案。

我們現在再編寫乙個控制台的空專案程式。並且新建乙個名為:testdemolib.cpp檔案

內容為:

#include "lib.h" //需要新增的標頭檔案

#include "iostream"

#pragma comment(lib, "demolib.lib")//需要新增的庫檔案

int main()

如圖所示:

並需要把上乙個編寫生成的庫demolib.lib檔案放到與testdemolib.cpp相同的目錄一下,並把上乙個標頭檔案lib.h檔案放到當前目錄下。

如圖所示:

最後編譯執行,結果如圖所示:

靜態庫Lib和動態庫Dll

1.概論 1.什麼是靜態連線庫,什麼是動態鏈結庫 靜態鏈結庫與動態鏈結庫都是共享 的方式,如果採用靜態鏈結庫,則無論你願不願意,lib 中的指令都全部被直接包含在最終生成的 exe 檔案中了。但是若使用 dll,該 dll 不必被包含在最終 exe 檔案中,exe 檔案執行時可以 動態 地引用和解除...

靜態庫Lib和動態庫Dll

1.概論 1.什麼是靜態連線庫,什麼是動態鏈結庫 靜態鏈結庫與動態鏈結庫都是共享 的方式,如果採用靜態鏈結庫,則無論你願不願意,lib 中的指令都全部被直接包含在最終生成的 exe 檔案中了。但是若使用 dll,該 dll 不必被包含在最終 exe 檔案中,exe 檔案執行時可以 動態 地引用和解除...

生成 呼叫自己的靜態庫lib

打包靜態庫lib的主要作用在於 方便下次調 zhuang 用 bi 防止修改實現檔案cpp帶來不好的影響,所以封裝一下 靜態庫dll類似 首先新建vs專案,選擇專案屬性 生成靜態庫 lib 接著新建.h和.cpp檔案 打包.h pragma once class 計算 打包.cpp include ...