編寫靜態鏈結庫

2021-06-15 20:20:41 字數 1163 閱讀 3798

vc++6.0

中new

乙個名稱為

libtest

的static library

工程,並新建

lib.h

和lib.cpp

兩個檔案,

lib.h

和lib.cpp

的源**如下:

//檔案:

lib.h

#ifndef lib_h

#define lib_h

extern "c" int add(int x,int y);//

宣告為c

編譯、連線方式的外部函式

#endif

//檔案:

lib.cpp

#include "lib.h"

int add(int x,int y)

編譯這個工程就得到了乙個

.lib

檔案,這個檔案就是乙個函式庫,它提供了

add的功能。將標頭檔案和

.lib

檔案提交給使用者後,使用者就可以直接使用其中的

add函式了。

下面來看看怎麼使用這個庫,在

libtest

工程所在的工作區內

new乙個

libcall

工程。libcall

工程僅包含乙個

main.cpp

檔案,它演示了靜態鏈結庫的呼叫方法,其源**如下:

#include

#include "../lib.h"

#pragma comment( lib, "..//debug" )//

指定與靜態庫一起連線

int main(int argc, char* argv)

**中#pragma comment( lib , "..//debug" )

的意思是指本檔案生成的

.obj

檔案應與

libtest.lib

一起連線。

如果不用

#pragma comment

指定,則可以直接在

vc++

中設定,依次選擇

tools

、options

、directories

、library files

選單或選項,填入庫檔案路徑即可。

靜態鏈結庫和動態鏈結庫編寫

lib.h int add int x,int y lib.cpp include lib.h include stdafx.h int add int x,int y libtest.cpp include lib.h pragma comment lib,lib.lib int main int...

動態鏈結庫 靜態鏈結庫

包含標頭檔案和庫 idir 指定編譯查詢標頭檔案的目錄,常用於查詢第三方的庫的標頭檔案,例 gcc test.c i.inc o test。ldir 指定鏈結時查詢lib的目錄,常用於查詢第三方庫。llibrary 指定額外鏈結的lib庫 巨集定義 dmacro 以字串 1 預設值 定義 macro...

靜態鏈結庫 動態鏈結庫

庫是寫好的現有的,成熟的,可以復用的 現實中每個程式都要依賴很多基礎的底層庫,不可能每個人的 都從零開始,因此庫的存在意義非同尋常。本質上來說庫是一種可執行 的二進位制形式,可以被作業系統載入記憶體執行。庫有兩種 靜態庫 a lib 和動態庫 so dll windows上對應的是.lib dll ...