zoukankan      html  css  js  c++  java
  • 易语言调用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的模块会那么多,如果易语言的开源模块也那么多就更好了,这样的话感觉易语言会在这代年青人程序员迅速火爆中国!

  • 相关阅读:
    WinForm中快捷键与组合按键的设置方法
    WinForm窗体间传值的方法
    System.Data.SqlClient 命名空间
    登录
    查找和替换
    进制转换
    对话框
    Object基类
    抽象类与抽象方法
    千位数减百位数不退位 区间代换
  • 原文地址:https://www.cnblogs.com/biaoge140/p/9170699.html
Copyright © 2011-2022 走看看