使用靜態連接庫LIB

本例是在VS2008中調試通過:

 

1.新建一個WIN32項目,名字爲slib,在WIN32應用程序嚮導中,選擇靜態庫

2.新建兩個文件lib.h lib.cpp

 

//文件:lib.h
#ifndef _LIB_H_
#define _LIB_H_

/*************************************************

請注意函數定義前的關鍵字extern "C",這是由於我們使用了C++語言來開發DLL,爲了使C語言模塊能夠訪問該導出函數,我們應該使用C鏈接來代替C++鏈接。否則,C++編譯器將使用C++的類型安全命名和調用協議,這在使用C調用該函數時就會遇上問題。在本例中並不需要考慮到這個問題,因爲我們在開發DLL和應用程序時都是使用C ++,但我們仍然強烈建議使用extern "C",以保證在使用C編寫的程序調用該DLL的導出函數不會遇上麻煩。

********************************************************************************************/
extern "C" int add(int x,int y);
#endif


//文件:lib.cpp
#include "lib.h"
int add(int x,int y)
{
return x + y;
}

 

3,生成lib.lib.

4,然後在原工程中,選擇解決方案,右鍵-->新建項目,.新建一個WIN32項目,名字爲Test,在WIN32應用程序嚮導中,選擇WIN32應用程序,

5,在拷貝文件lib.h和lib.lib到test/test目錄下,在解決方案管理器中,選擇“顯示所有文件”,將lib.h包括在Test項目中.

6.在test.cpp文件中添加#include "lib.h",#pragma comment(lib,"lib.lib")

7.測試例子:

int temp=0;
temp=add(10,5);
WCHAR schar[50];
swprintf(schar,L"%d",temp);

MessageBox(NULL, schar,L"Result",MB_OK);

 

最終結果顯示;15

 

 

發佈了27 篇原創文章 · 獲贊 3 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章