直接调用会弹出堆栈错误的信息,原因是VS默认是__cdcel方式,而易语言是__stdcall,所以调用约定不一致导致堆栈错误。
解决方案很简单,易语言声明DLL函数时“在库中对应命令名”函数名前加一个“@”符号即可。
简单测试一下:
头文件:
#pragma once
#include
extern "C" __declspec(dllexport) int add1(int a, int b);
CPP文件:
#include "dll1.h"
int add1(int a, int b)
{
return a + b;
}
编译后,易语言调用一下子
结果如下,不会弹出堆栈错误了:
个人比较喜欢易语言,因为是我编程入门的语言,更喜欢它的中文编码、简洁、方便,加上各路大佬开源的模块:如精易模块、超级模块,用起来就更加方便了,对