如何编写DLL文件供易语言高效调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计325个文字,预计阅读时间需要2分钟。
经过简写,内容如下:
两天摸爬滚打,终于解决了所有问题,在此与大家分享。
直接输出代码:
cpp// dll_demo.h#ifndef DLL_DEMO_H#define DLL_DEMO_H
#ifdef _WIN32#pragma pack(push, 1)#endif
typedef int (*DemoFunc)(void);
#ifdef _WIN32#pragma pack(pop)#endif
extern C { DemoFunc GetDemoFunction();}
#endif // DLL_DEMO_H
// dll_demo.cpp#include dll_demo.h
#ifdef _WIN32#pragma pack(push, 1)#endif
int DemoFunction(void) { return 0;}
#ifdef _WIN32#pragma pack(pop)#endif
extern C { DemoFunc GetDemoFunction() { return DemoFunction; }}
// dll_demo.defLIBRARY dll_demo.dllENTRY GetDemoFunction
摸索了两天了,终于解决了所有问题,在此跟大家分享。
需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def
直接上代码:
头文件如下:
#ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #define DLL_DEMO extern "C" __declspec(dllexport) #else #define DLL_DEMO extern "C" __declspec(dllimport) #endif DLL_DEMO int __stdcall Add(int a, int b); #endif
源文件:
#define DLLDEMO_EXPORTS #include "dll_demo.h" int __stdcall Add(int a, int b) { return (a + b); }
def文件:
LIBRARY EXPORTS Add @ 1
函数需要声明为 stdcall调用方式才能被易语言调用,def文件的主要作用为解决使用stdcall方式后函数名被改变的问题。在vs2013中引入def文件需要手动在工程属性,链接器,输入,模块定义文件中添加。
总结:以上就是关于C++写DLL让易语言调用的全部方法和代码,感谢大家的阅读和对自由互联的支持。
本文共计325个文字,预计阅读时间需要2分钟。
经过简写,内容如下:
两天摸爬滚打,终于解决了所有问题,在此与大家分享。
直接输出代码:
cpp// dll_demo.h#ifndef DLL_DEMO_H#define DLL_DEMO_H
#ifdef _WIN32#pragma pack(push, 1)#endif
typedef int (*DemoFunc)(void);
#ifdef _WIN32#pragma pack(pop)#endif
extern C { DemoFunc GetDemoFunction();}
#endif // DLL_DEMO_H
// dll_demo.cpp#include dll_demo.h
#ifdef _WIN32#pragma pack(push, 1)#endif
int DemoFunction(void) { return 0;}
#ifdef _WIN32#pragma pack(pop)#endif
extern C { DemoFunc GetDemoFunction() { return DemoFunction; }}
// dll_demo.defLIBRARY dll_demo.dllENTRY GetDemoFunction
摸索了两天了,终于解决了所有问题,在此跟大家分享。
需要三个文件,dll_demo.h、dll_demo.cpp、dll_dome.def
直接上代码:
头文件如下:
#ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #define DLL_DEMO extern "C" __declspec(dllexport) #else #define DLL_DEMO extern "C" __declspec(dllimport) #endif DLL_DEMO int __stdcall Add(int a, int b); #endif
源文件:
#define DLLDEMO_EXPORTS #include "dll_demo.h" int __stdcall Add(int a, int b) { return (a + b); }
def文件:
LIBRARY EXPORTS Add @ 1
函数需要声明为 stdcall调用方式才能被易语言调用,def文件的主要作用为解决使用stdcall方式后函数名被改变的问题。在vs2013中引入def文件需要手动在工程属性,链接器,输入,模块定义文件中添加。
总结:以上就是关于C++写DLL让易语言调用的全部方法和代码,感谢大家的阅读和对自由互联的支持。

