易语言调用 C语言dev-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 (易语言调用)

  1. DLLIMPORT int _stdcall add(int a,int b)
  2. {
  3. 	return a+b;
  4. }

2、易语言调用
3、出现堆栈问题参考:
易语言调用C++编写DLL堆栈出错解决办法


发布日期:

所属分类: 易语言 标签: