- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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头文件
#include<iostream> //包含isotream头文件
#include<string> //包含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
您可能关注的文档
- Java语言与编程-实验2基于对象程序设计.doc
- J飓风新气溶胶说明书.doc
- Lean production精益生产( 36)造就尽善尽美的精益企业.ppt
- Lucent 5ESS交换机系统的硬件组成和功能.doc
- M-039-B菊花茶生产作业指导书.doc
- matlab 课件 第5章 Simulink 在系统仿真中的应用.ppt
- mmog le 第4版 学习资料.ppt
- MSP430F249的定时器计数器.doc
- NEC媒介计划(电通)】.ppt
- Neulasta专利到期后的竞争格局F-627有望第一批上市.doc
- 2024年山东省聊城东阿县事业单位选聘32人历年高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 2024年山东省聊城莘县事业单位招聘单位高频考题难、易错点模拟试题(共500题)附带答案详解.docx
- 汽机专业题库及解析.docx
- 基本常规医疗流程答案.doc
- 大金空调故障代码汇总.docx
- 理综-山西省阳泉市2023-2024学年高三年级上学期期末考试试题和答案.docx
- 数学-海南省天一大联考2023-2024学年高三学业水平诊断(二)带答案.docx
- 地理-湖南省长沙市雅礼中学2023-2024学年高三上学期月考试卷带答案.docx
- 生物-湖南省长沙市雅礼中学2023-2024学年高三上学期月考试卷带答案.docx
- 数学-湖南省长沙市雅礼中学2023-2024学年高三上学期月考试卷带答案.docx
文档评论(0)