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