动态链接文件dll的使用

dll的使用
以我在 VC++生成DLL(DynamicLinkLibrary)的方法一》的博文生成的Dll2.dll为测试


动态链接文件dll的使用

命名为 DllTest


选择生成一个基于对话框的程序
动态链接文件dll的使用
单击完成

动态链接文件dll的使用       
双击IDD_DLL1TE这个图标,窗口出现如下效果
动态链接文件dll的使用
拖放两个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 效果如下:
动态链接文件dll的使用










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值