編寫靜態鏈結庫(這個比較詳盡)

2021-06-19 22:25:05 字數 841 閱讀 5388

在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選單或選項,填入庫檔案路徑即可。

編寫靜態鏈結庫

在 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,...

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

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...