问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C+的dll如何用易语言正确调用?

发布网友 发布时间:2022-05-04 18:38

我来回答

2个回答

热心网友 时间:2022-06-25 01:39

在编写程序的时候往往需要调用到别的语言编写的DLL文件,下面先来看一下在易语言中如何调用VC编写的DLL呢,首先用VC编写一个简单的DLL文件,代码如下:

int WINAPI add(int x,int y)
{
return x+y;
}

这是一个简单的两个数加法操作,返回两个数相加的结果,这里我生成的是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)

下面我们用VC来调用这个DLL并且返回结果,代码如下:
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);
FreeLibrary(hMod);

调用后结果如下图:

这样就得到了正确的结果了,需要注意的是易语言子程序必须公开,公开也就是与VC中def文件导出是一样的道理。

热心网友 时间:2022-06-25 01:39

请参考

追问问题是如何正确调用上面C+的函数

追答

看看这次明白了吗

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
特别精辟的个性签名(非常经典的个性句子) 特别经典的个性签名(非常惊艳的个性句子) 文艺范十足的个性签名(温柔治愈的个性签名句子) wps文字怎么设置每页头和尾 27岁的女人需要补充哪些营养元素 27岁该重视美容了吗?都可以用哪些方法好些呢? airpods连不上手机怎么回事 - 知百科 腰肌劳损能养好吗? 有一段相声讲的是原始人打猎,唱歌,学说话的,请问名字是什么? 个人征信逾期记录的修复攻略,手把手传授 在C语言中,能简单介绍一下DLL是干什么的么? c怎么生成dll文件? 用C语言编写DLL 在EXCEL表格里面,如何将一列数字的前面几位数替换掉? 关于excel的问题:如何把一整排数字一次性修改呢!悬赏100分,满意再追加1倍.急!! 在excel中我需要替换一列数字,怎么替换? EXCEL怎么把一列的数据替换到另一列数据里面覆盖掉,空格不替换? 学校是自动获取ip的,请问如何查询获取的iP记录?win7系统的。。。 win7系统下如何查看当前的ip地址,用的无线路由器,已经自动获取的那种 转移微信聊天记录到另一台手机的方法 巧克力蛋糕麻薯派的热量是多少? 爆浆是什么意思? 缤纷流心麻薯球的做法步骤图,怎么做好吃 一个巧克力麻薯的重量 陕西高校送学生油泼辣子月饼,陕西的月饼都有哪些口味? 流心麻薯是怎么做的? 巧克力麻薯的做法步骤图,巧克力麻薯怎么做好吃 马斯洛的层次需求理论,并说题说明 求关于“马斯洛需求层次理论”的论文题目? abb变频器用哪个代码改变电动机转速的 用VB调用c dll , 函数指针如何处理? 用C调用DLL中的函数 dll文件如何用C语言生成 用c语言,纯c做一个dll,里面有两个函数,这两个函数之间能相互调用么 哪些dll文件和c中的库函数有什么区别? 【求助】如何把C编译成dll? c语言dll,怎样常驻内存(或许是多线程) c语言调用dll里的命令并输出 C# 调用 C写的DLL 问题 java 程序调用c的dll怎么配置文件 如何封装c++程序成dll文件 c#调用c生成的DLL,得到其结构体的数据 金牛座的幸运石 炸鸡锁骨加什么香料好吃? 什么没有雷州升级 有没有用蚌壳做的珍珠项链 这款10mm淡紫色珍珠项链值多少钱 珍珠项链有保健作用吗 珍珠项链会越戴越亮么? 一条珍珠项链的价值?