1.新建基於對話框的應用程序
2.新建MFC DLL工程
3.選擇MFC DLL
4.選擇擴展Dll選項(重要!!!)
5.爲Dll工程添加一個MFC類,基類爲CDialogEx
6.Dll新建的MFC 類中添加resource.h防止編譯出錯(應爲新建了一個對話框資源)
7.將類導出
8.編譯Dll,生成Dll文件和Lib文件,將相應頭文件和剛生成的Dll和Lib Copy到測試的應用程序目錄,並在應用程序工程中包含相應頭文件,和添加Lib的目錄,在對話框中添加一個按鈕,添加響應消息,在響應消息函數中添加Dll中的Dlg
9.編譯,運行,效果如下
在MFC動態鏈接庫中導出全局函數時的做法如下:
在dll相應的頭文件中定義申明導出函數:
extern "C" void __declspec(dllexport) XXX(int i);
- 1
在cpp文件中定義函數:
void XXX(int i)
{
CString str;
str.Format(_T("傳遞的參數是%d。"), i);
MessageBox(NULL, _T("sss"), _T("ssss"), 0);
}
編譯後將相應的.lib文件copy到測試應用程序的代碼目錄下(重要!!!不然靜態調用時會鏈接出錯)
在調用者中:
#pragma comment(lib,"MFCLibrary1")
extern "C" void __declspec(dllimport) XXX(int i);
void CMFCDllTestAppDlg::OnBnClickedButton1()
{
// TODO: Add your control notification handler code here
int i = 1000;
XXX(i);
}
效果如下: