易语言调用C++写的DLL

 

直接调用会弹出堆栈错误的信息,原因是VS默认是__cdcel方式,而易语言是__stdcall,所以调用约定不一致导致堆栈错误。

解决方案很简单,易语言声明DLL函数时“在库中对应命令名”函数名前加一个“@”符号即可。

简单测试一下:

头文件:

1 #pragma once
2 #include <Windows.h>
3 
4 
5 extern "C" __declspec(dllexport) int add1(int a, int b);

CPP文件:

复制代码

1 #include "dll1.h"
2 
3 int add1(int a, int b)
4 {
5     return a + b;
6 }

复制代码

编译后,易语言调用一下子

结果如下,不会弹出堆栈错误了:

 

个人比较喜欢易语言,因为是我编程入门的语言,更喜欢它的中文编码、简洁、方便,加上各路大佬开源的模块:如精易模块、超级模块,用起来就更加方便了,对我而言不亚于当今很火的Python了。

不知道为啥Python的模块会那么多,如果易语言的开源模块也那么多就更好了,这样的话感觉易语言会在这代年青人程序员迅速火爆中国!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值