文章目录[隐藏]
本文记录了511遇见易语言编写DLL录制的内容,我们采用Dev c++工具将C代码生成dll易语言来调用。
一、 Dev c++生成Dll过程
1、在Dev c++里面新建一个C语言的DLL项目myadd
2、dev-c++会生成一个.c和一个.h文件
dllmain.c
/* Replace "dll.h" with the name of your header */ #include "dll.h" #include <windows.h> DLLIMPORT int _stdcall add(int a,int b) { return a+b; } BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved) { switch(fdwReason) { case DLL_PROCESS_ATTACH: { break; } case DLL_PROCESS_DETACH: { break; } case DLL_THREAD_ATTACH: { break; } case DLL_THREAD_DETACH: { break; } } /* Return TRUE on success, FALSE on failure */ return TRUE; }
dll.h
#ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL #define DLLIMPORT __declspec(dllexport) #else #define DLLIMPORT __declspec(dllimport) #endif DLLIMPORT int _stdcall add(int a,int b); #endif
二、选择32位编译器
EDM-GCC 4.92 32-bit Release
三、说明
1、//函数调用方式改为_stdcall (易语言调用)
DLLIMPORT int _stdcall add(int a,int b)
{
return a+b;
}
2、易语言调用
3、出现堆栈问题参考:
易语言调用C++编写DLL堆栈出错解决办法