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

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

简单测试一下:

头文件:

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

CPP文件:

 #include "dll1.h"

 int add1(int a, int b)
{
return a + b;
}

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

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

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

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

易语言调用C++写的DLL的更多相关文章

  1. 易语言调用csharp写的COM组件的程序在Win2008上奔溃的解决办法

    易语言调用csharp写的COM组件,除了要注册csharp写的dll之外(由于是.net代码,需要用.net自带的注册工具RegAsm.exe注册,具体注册方法为: C:\WINDOWS\Micro ...

  2. fortran语言调用fortran写的dll

    环境:vs2013+IVF 2011 有时候想把fortran写的常用的函数编译为DLL,以供不同的fortran exe调用,这时候应该怎样做呢?[参考 彭国伦老师 fortran95 程序设计 书 ...

  3. 易语言调用外部DLL详细实例教程

    一.准备工作 一.工具:易语言 二.准备一个DLL 1)打开易语言-新建一个Windows动态链接库 2)然后右键新建一个子程序或者用快捷键:Ctrl+N .然后写上代码.我这里写一个 2个字符串拼接 ...

  4. C++ 编写DLL文件给易语言调用

    摸索了两天了,终于解决了所有问题,在此跟大家分享. 需要三个文件,dll_demo.h.dll_demo.cpp.dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEM ...

  5. 【转载】java调用C++写的DLL

    用java调用C++写的DLL一直以来都是一个比较麻烦但又很常见的问题. 我们知道,使用 JNI 调用 .dll/.so 共享类库是非常非常麻烦和痛苦的. 如果有一个现有的 .dll/.so 文件,如 ...

  6. c++ c# java 调用 c++ 写的dll

    1. vs 中新建win32 dll 项目   testdll 添加实现文件       test.cpp #include "stdafx.h" #include <ios ...

  7. c++调用c#写的DLL

    c++调用c#写的DLL: 此文章演示了建立c#的dll: c++建立工程,引入dll: 不能解决的问题: 指定dll的路径,在代码里面直接写 #using "xxx.dll" 必 ...

  8. QT调用C#写的Dll

    参见: https://blog.csdn.net/weixin_42420155/article/details/81060945 C#写的dll是没有dllMain入口函数的,是一种中间语言,需要 ...

  9. Delphi7程序调用C#写的DLL解决办法(转)

    近来,因工作需要,必须解决Delphi7写的主程序调用C#写的dll的问题.在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行:    编写C#dll的方法都一样,首先在vs2005中创建一个 ...

随机推荐

  1. 什么是JavaScript Souce Map

    第一部分 我们经常可以看到后缀名为.map的文件,比如我们下载得到bootstrap的css文件,如下所示: 不难理解bootstrap.css. bootstrap.min.css.等这些常规的代码 ...

  2. Spring课程 Spring入门篇 1-1Spring入门课程简介

    课程链接: 课程简介: 1 什么是框架 2 Spring简介 3 IOC(配置,注解) 4 Bean(配置,注解) 5 AOP(配置,注解,AspectJ.API) SpringFrameWork 常 ...

  3. 关于如何等待一个元素的出现而不用一些笨拙粗暴的time.sleep()方法

    我相信这是一个非常大众化的需求,我们需要等待某一个元素的出现以此来让我们的脚本进入到下一个Step,这个等待方法最好能够设置超时时间,然后找到后迅速callback.我们也很幸运!如果你仔细看Sele ...

  4. Struts2_简单数据验证

    在Action 中添加 FieldError if(name == null || !name.equals("admin")){ this.addFieldError(" ...

  5. python+pywinauto之PC端自动化一

    所需软件安装: 1.下载 pywinauto 安装参考: https://jingyan.baidu.com/article/414eccf6a1a3906b421f0a59.html 下载地址: h ...

  6. 01、Scala介绍与安装

    01.Scala介绍与安装 1.1 Scala介绍 Scala是对java语言脚本化,特点是就是使不具备脚本化的java语言能够采用脚本化方式来使用,使其具有脚本语言简单.所见即所得的特点,并且编程效 ...

  7. 如何更换vim-airline的theme

    仓库位置: 点我直达 (主题以前是和airline在同个仓库的,现在独立出来了) 这些内置的这些主题,可以直接使用,方法是在 “.vimrc”文件中写 let g:airline_theme=&quo ...

  8. [转载]弹出一个不带地址栏、工具栏的IE非模态窗口

    标签:ie /非模态窗口 window.open(url,'_blank','menubar=no,fullscreen=1,toolbar=no,resizable=no,location=no,s ...

  9. May 05th 2017 Week 18th Friday

    No matter what have happened today, the sun will just rise in the morning of tomorrow. 无论今天发生了什么,明天早 ...

  10. Codeforces Round #261 (Div. 2) - E (459E)

    题目连接:http://codeforces.com/contest/459/problem/E 题目大意:给定一张有向图,无自环无重边,每条边有一个边权,求最长严格上升路径长度.(1≤n,m≤3 * ...