int WINAPI add(int x,int y)
{
return x+y;
}
下面咱们用VC来调用这个DLL而且返回结果,代码以下:这是一个简单的两个数加法操做,返回两个数相加的结果,这里我生成的是MFC DLL,而且须要在def中导出add函数。 下面用易语言来调用它,首先在易语言中须要插入一个DLL命令,代码以下:
.版本 2
.DLL命令 调用CDLL, 整数型, "cdll.dll", "add"
.参数 x, 整数型
.参数 y, 整数型
而且保存工程文件与DLL文件在一块儿,不然可能会报找不到DLL的错误.下面在按钮中添加以下代码:
.版本 2
.子程序 _按钮1_被单击
信息框 (调用CDLL (5, 5), 0, )
这样咱们传递了两个数后就能够返回结果了,以下图: ![]() 上图的信息框显示返回的结果是10,那么这就是正确的了,易语言调用VC的DLL须要注意类型,而且DLL函数须要WINAPI或stdcall,不然也会报错。 下面咱们再来看一下VC如何调用易语言的DLL,仍是先用易语言编写一个DLL文件,创建一个DLL动态连接库工程,新建一个子程序,代码以下:
.版本 2
.子程序 add, 整数型, 公开
.参数 x, 整数型
.参数 y, 整数型
返回 (x + y)
HINSTANCE hMod = LoadLibrary("e.dll");
typedef int(WINAPI *ADD)(int,int);
ADD myadd = (ADD)GetProcAddress(hMod,"add");
CString str;
str.Format("%d",myadd(5,5));
MessageBox(str);
本文内容来自 www.lvcode.com
FreeLibrary(hMod); 调用后结果以下图: ![]() |