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

  摸索了两天了,终于解决了所有问题,在此跟大家分享。

  需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def

  直接上代码:

  头文件如下:

1 #ifndef _DLL_DEMO_H_
2 #define _DLL_DEMO_H_
3 #ifdef DLLDEMO_EXPORTS
4 #define DLL_DEMO extern "C" __declspec(dllexport) 
5 #else
6 #define DLL_DEMO extern "C" __declspec(dllimport)
7 #endif
8 DLL_DEMO int __stdcall Add(int a, int b);
9 #endif

  源文件:

1 #define DLLDEMO_EXPORTS
2 #include "dll_demo.h"
3 
4 int __stdcall Add(int a, int b)
5 {
6     return (a + b);
7 }

  def文件:

1 LIBRARY
2 EXPORTS
3 Add @ 1

  函数需要声明为 stdcall调用方式才能被易语言调用,def文件的主要作用为解决使用stdcall方式后函数名被改变的问题。在vs2013中引入def文件需要手动在工程属性,链接器,输入,模块定义文件中添加。

真正重要的东西,用眼睛是看不见的。
上一篇:C语言dll文件的说明以及生成、使用方法


下一篇:C\C++中声明与定义的区别