一,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,編譯執行該應用程序,并觸發該消息,則輸出:
中國北車集團長春軌道客車股份有限公司