VC调用易语言DLL

易语言方面:

.版本 2

.子程序 show, , 公开

' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
载入 (窗口1, , 真)




.子程序 add, 整数型, 公开
.参数 x, 整数型
.参数 y, 整数型

返回 (x + y)

VC调用方法:

void CWebcyzDlg::OnButton1() 
{
    //动态加载DLL的方法
    HINSTANCE hMod = LoadLibrary("123.dll");//获取dll实例
    typedef int(WINAPI *aadd)(int,int);//声明一个aadd函数
    aadd myadd = (aadd)GetProcAddress(hMod,"add");//用声明自定义一个myadd函数,并关联实例和DLL中的函数名称
    CString str;
    str.Format("%d",myadd(20,5));//直接调用自定义函数即可完成DLL中函数的调用了
    MessageBox(str); 
    FreeLibrary(hMod);
    
}

void CWebcyzDlg::OnButton2() 
{
    // TODO: Add your control notification handler code here
    HINSTANCE hMod = LoadLibrary("123.dll");//获取dll实例
    typedef void(WINAPI *show)();//声明一个show函数
    show myshow = (show)GetProcAddress(hMod,"show");//用声明自定义一个show函数,并关联实例和DLL中的函数名称
    myshow();//调用自定义函数即可完成DLL中函数的调用
    FreeLibrary(hMod);
}
原文地址:https://www.cnblogs.com/webcyz/p/6387596.html