使用vc++创建dll,调用其它dll函数_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > 使用vc++创建dll,调用其它dll函数

使用vc++创建dll,调用其它dll函数

 2016/5/12 5:33:15  入云涛  程序员俱乐部  我要评论(0)
  • 摘要:使用vc++创建dll,调用其它dll函数1.File-->New-->Projects-->Win32Dynamic-LinkLibrary2.录入工程名称,选择AnemptyDLLproject.3.File-->New-->Files-->C/C++HeaderFile-->输入文件名称MyDll.h4.内容如下#ifndef_MYDLL_H_#define_MYDLL_H_extern"C"_declspec(dllexport)intsend
  • 标签:VC++ 创建 使用 函数 c++
class="java" name="code">

使用vc++创建dll,调用其它dll函数
1.File-->New-->Projects-->Win32 Dynamic-Link Library
2.录入工程名称,选择 An empty DLL project.
3.File-->New-->Files-->C/C++ Header File-->输入文件名称MyDll.h
4.内容如下

?

#ifndef _MYDLL_H_
#define _MYDLL_H_

extern "C" _declspec (dllexport) int send(char *text,int com,int rate,int addr,int displayMode,int speed,int delayTime);
#endif

?
5.File-->New-->Files-->C++ Source File-->输入文件名称MyDll.cpp
6.内容如下

?

?

#include "MyDll.h"
#define WIN32_LEAN_AND_MEAN
#include <windows.h>


int send(char *text,int com,int rate,int addr,int displayMode,int speed,int delayTime){
	char *dlladdr = "dll\\zy\\dlltpzp.dll";  
	HMODULE hModule = ::LoadLibrary(dlladdr);
	if (NULL == hModule) {
		return 0;
	}
	//加载函数
	int(_stdcall *SendDatafun)(int, long, int, char *, int, int, int, int);
	SendDatafun = (int(_stdcall *)(int, long, int, char *, int, int, int, int))GetProcAddress(hModule, "SendDatafun");
	if (NULL == SendDatafun)
	{
		::FreeLibrary(hModule);
		return -1;
	}
	UINT m_nDelayTime = 1;
	int nRetVal = SendDatafun(com, rate, addr, text,17, displayMode, speed, delayTime);
	if (0 > nRetVal)
	{
		return -2;
	}
	::FreeLibrary(hModule);
	return 1;
}

?
7.工程右键build编译完成
8.此类是加载了一个目录在dll\\zy\\dlltpzp.dll的dll文件,并调用该dll中的SendDatafun方法

?

发表评论
用户名: 匿名