- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VS2010制作调用动态库dll的详细步骤
VS2010制作DLL的详细步骤(DllMake.dll)
文件-新建-项目(如下图所示)
选择Visual C++—Win32—Win32项目后,在名称中输入DllMake;解决方案名称自动为DllMake(可修改);选中为解决方案创建目录(如下图所示)
项目(DllMake)右键-添加-新建项-选择头文件(.h)-名称输入为Dllmake
在新建的DllMake.h头文件中输入以下代码(如下图所示)
在DllMake.cpp文件中输入以下代码(如下图所示)
注意:在头文件DllMake.h中extern “C” 只是解决了c与c++编译器之间的兼容问题,如果需要和其他编译器之间兼容,可靠的办法还是增加一个.def文件。源文件-右键-添加-新建项-
在dllmake.def文件中输入以下代码(如下图所示)- 如果需要和其他编译器之间兼容,可靠的办法还是增加一个.def文件。
最后DllMake项目上右键-生成(Debug)。便可以在项目的Debug文件内产生如下文件。(如下图所示)
也可以在DllMake项目上右键-生成(Release)。便可以在项目的Release文件内产生如下文件。(如下图所示)
VS2010调用DLL的详细步骤(CallDll)
新建-项目(如下图所示)
在CallDll.cpp中输入如下代码。(如下图所示)
// CallDll.cpp : 定义控制台应用程序的入口点。
//
#include stdafx.h
#include Windows.h //包含Windows.h头文件
#includeiostream //包含isotream头文件
#includestring //包含string头文件
//包含所有需要用到的头文件xxxx.h或是xxxx
using namespace std; //定义命名空间std
//根据动态库提供的头文件定义函数指针(存放DLL返回的对应函数接口)
typedef int(*lpAdd)(int x,int y); //定义Add函数指针
typedef int(*lpMax)(int x,int y); //定义Max函数指针
typedef int(*lpDivision)(int x,int y); //定义Division函数指针
typedef void(*lpPrintFunc)(int x,int y); //定义PrintFunc函数指针
int _tmain(int argc, _TCHAR* argv[])
{
HINSTANCE hInstance; //定义动态库句柄变量
lpAdd callAdd; //定义Add函数指针变量
lpMax callMax; //定义Max函数指针变量
lpDivision callDivision; //定义Division函数指针变量
lpPrintFunc callPrintFunc; //定义PrintFunc函数指针变量
int inputX,inputY; //存储变量X,Y输入值
int result; //存储函数返回值
hInstance=LoadLibrary(_T(DllMake.dll)); //装载动态链接库
if(hInstance!=NULL) //装载动态链接库成功
{
callAdd=(lpAdd)GetProcAddress(hInstance,Add); //获取动态库中Add函数地址
callMax=(lpMax)GetProcAddress(hInstance,Max); //获取动态库中Max函数地址
callDivision=(lpDivision)GetProcAddress(hInstance,Division);//获取动态库中Division
//函数地址
c
文档评论(0)