dll的使用
以我在 《 VC++生成DLL(DynamicLinkLibrary)的方法一》的博文生成的Dll2.dll为测试
命名为 DllTest
选择生成一个基于对话框的程序
单击完成
双击IDD_DLL1TE这个图标,窗口出现如下效果
拖放两个Button控件,取名为Add和Subarct。分别双击两个按钮,添加两个关联函数来处理单击事件。
添加的两个函数出现在Dll1TestDlg.cpp文件中。分别为:
void CDll1TestDlg::OnBtnAdd()
void CDll1TestDlg::OnBtnSubtract()
并编写代码如下:
void CDll1TestDlg::OnBtnAdd()
{
// TODO: Add your control notification handler code here
HINSTANCE hInst;
hInst = LoadLibrary("Dll2.dll");
typedef int (*ADDPROC)(int a, int b );
ADDPROC Add;
Add = (ADDPROC)GetProcAddress(hInst,"add");
if(!Add)
{
MessageBox("获取函数地址失败");
}
CString str;
str.Format( "5+3=%d",Add(5,3) );
MessageBox(str);
FreeLibrary(hInst);
}
void CDll1TestDlg::OnBtnSubtract()
{
// TODO: Add your control notification handler code here
HINSTANCE hInst;
hInst = LoadLibrary("Dll2.dll");
typedef int (*ADDPROC)(int a, int b );
ADDPROC Sbstract;
Sbstract = (ADDPROC)GetProcAddress(hInst,"substract");
if(!Sbstract)
{
MessageBox("获取函数地址失败");
}
CString str;
str.Format( "5-3=%d",Sbstract(5,3) );
MessageBox(str);
FreeLibrary(hInst);
}
LoadLibrary、GetProcAddress和 FreeLibrary函数参看MSDN help libary
编译->链接->OK 效果如下:
以我在 《 VC++生成DLL(DynamicLinkLibrary)的方法一》的博文生成的Dll2.dll为测试
命名为 DllTest
选择生成一个基于对话框的程序
单击完成
双击IDD_DLL1TE这个图标,窗口出现如下效果
拖放两个Button控件,取名为Add和Subarct。分别双击两个按钮,添加两个关联函数来处理单击事件。
添加的两个函数出现在Dll1TestDlg.cpp文件中。分别为:
void CDll1TestDlg::OnBtnAdd()
void CDll1TestDlg::OnBtnSubtract()
并编写代码如下:
void CDll1TestDlg::OnBtnAdd()
{
}
void CDll1TestDlg::OnBtnSubtract()
{
}
LoadLibrary、GetProcAddress和 FreeLibrary函数参看MSDN help libary
编译->链接->OK 效果如下: