一,MFC擴充DLL
建立:
1,建立一個MFC擴充DLL ,名字為dll5,添加標頭檔,名為dll5
2,標頭檔中加入:
extern __declspec(dllexport) CString concatA(CString x,CString y);
3,在cpp檔案中加入:
extern __declspec(dllexport) CString concatA(CString x,CString y)
{
return x + y;
}
4,在cpp檔案中加入:
#include "dll5.h"
5,編譯,產生dll
使用:
1,建立一個單文檔應用程式,名為Usedll5
2,將剛才產生的dll5.lib檔案和dll5.h檔案拷貝到當前應用程式路徑下,
將dll5.DLL 檔案拷貝到 當前應用程式下的debug下
3,在當前應用程式中用到該dll5的匯出方法(concatA)的檔案(或類)上添加如下語句:
#include "dll5.h"
假設將其加到 Usedll5View.cpp中。
4,在Usedll5View類中建立訊息映射入口,在訊息函數中添加如下語句:
CString a=concatA("中國北車集團","長春軌道客車股份有限公司");
MessageBox(a);
5,在 工程/設定/串連/物件程式庫/模組 中加入:dll5.lib
6,編譯執行該應用程式,並觸發該訊息,則輸出:
中國北車集團長春軌道客車股份有限公司
之後只要定義不更改,函數體無論怎麼更改。我們只要將編譯好的dll拷貝過來即可。如果定義有了修改,則需要將h檔案和lib 檔案拷貝過來,並需要重新編譯。
二,動態連結程式庫使用共用MFC DLL
建立:
1,建立一個 DLL(選 動態連結程式庫使用共用MFC DLL)
2,標頭檔中加入:
_declspec(dllexport) CString WINAPI concatA(CString x,CString y);
3,在cpp檔案末尾加入:
_declspec(dllexport) CString WINAPI concatA(CString x,CString y)
{
return x + y;
}
4,編譯,產生dll
使用:
1,建立一個單文檔應用程式,名為Usedll8
2,將剛才產生的dll8.lib檔案拷貝到當前應用程式路徑下,
將dll8.DLL 檔案拷貝到 c:/winnt/system32下
3,在當前應用程式中用到該dll5的匯出方法(concatA)的 類的標頭檔上添加如下語句:
extern CString WINAPI concatA(CString x,CString y);
假設將其加到 Usedll8View.h中。
4,在Usedll8View類中建立訊息映射入口,在訊息函數中添加如下語句:
CString a=concatA("中國北車集團","長春軌道客車股份有限公司");
MessageBox(a);
5,在 工程/設定/串連/物件程式庫/模組 中加入:dll8.lib
6,編譯執行該應用程式,並觸發該訊息,則輸出:
中國北車集團長春軌道客車股份有限公司