已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vs2010制作dll的详细步骤(dllmake.dll)1. 文件-新建-项目(如下图所示)2. 选择visual c+win32win32项目后,在名称中输入dllmake;解决方案名称自动为dllmake(可修改);选中为解决方案创建目录(如下图所示)3. 项目(dllmake)右键-添加-新建项-选择头文件(.h)-名称输入为dllmake4. 在新建的dllmake.h头文件中输入以下代码(如下图所示)5. 在dllmake.cpp文件中输入以下代码(如下图所示)6. 注意:在头文件dllmake.h中extern “c” 只是解决了c与c+编译器之间的兼容问题,如果需要和其他编译器之间兼容,可靠的办法还是增加一个.def文件。源文件-右键-添加-新建项-7. 在dllmake.def文件中输入以下代码(如下图所示)- 如果需要和其他编译器之间兼容,可靠的办法还是增加一个.def文件。8. 最后dllmake项目上右键-生成(debug)。便可以在项目的debug文件内产生如下文件。(如下图所示)9. 也可以在dllmake项目上右键-生成(release)。便可以在项目的release文件内产生如下文件。(如下图所示)vs2010调用dll的详细步骤(calldll)1. 新建-项目(如下图所示)2. 在calldll.cpp中输入如下代码。(如下图所示)/ calldll.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include /包含windows.h头文件#include /包含isotream头文件#include /包含string头文件 /包含所有需要用到的头文件xxxx.h或是xxxxusing 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 /函数地址 callprintfunc=(lpprintfunc)getprocaddress(hinstance,printfunc); /获取动态库中 /printfunc函数地址 coutinputx;coutinputy;if (calladd!=null)result=calladd(inputx,inputy);coutadd=resultendl;if (callmax!=null) result=callmax(inputx,inputy);coutmax=resultendl;if(calldivision!=null)result=calldivision(inputx,inputy);coutdivision=resultendl;if(callprintfunc!=null)callprintfunc(inputx,inputy);freelibrary(hinstance); /卸载动态库else /装载动态链接库失败cout没有找到动态链接库dlltest.dllendl;system(pause);return 0;3. 在calldll项目上右键-生成-运行程序。(如下图所示)4.根据上面的运行结果可知,控制台程序找不到动态库(dllmake.dll)。这是因为在项目
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026天地科技股份有限公司国际分公司全球校园招聘笔试考试参考题库及答案解析
- 2025云南昭通市水富市政务服务管理局招聘城镇公益性岗位人员2人考试笔试模拟试题及答案解析
- 四川轻化工大学2025年下半年公开考核招聘博士辅导员(10人)考试笔试参考题库附答案解析
- 山东省菏泽市高三上学期期末考试生物试题
- 北京小汤山医院面向应届毕业生(含社会人员)招聘15人考试笔试参考题库附答案解析
- 2025宝鸡市金台区硖石镇卫生院招聘考试笔试模拟试题及答案解析
- 2025年新能源行业供应链金融与绿色供应链金融协同发展报告
- 2025四川省现代种业发展集团有限公司部分权属企业社会化招聘13人考试笔试参考题库附答案解析
- 2025安徽合肥市清樾幼儿园教职工招聘笔试考试备考题库及答案解析
- 公开考调政协青川县委员会宣教中心工作人员考试笔试模拟试题及答案解析
- 2024年人教版初三英语(下册)期末试卷及答案(各版本)
- GB/T 44179-2024交流电压高于1 000 V和直流电压高于1 500 V的变电站用空心支柱复合绝缘子定义、试验方法和接收准则
- 公司以房产分红给股东的协议2024年
- 质量环境职业健康安全管理体系三合一整合全套体系文件(管理手册+程序文件)
- 室外LED大屏幕施工方案
- 脑出血护理查房
- 体育中考笔试题范文
- 投笔从戎-成语故事课件
- 湖南省益阳市高职单招2023年医学综合第一次模拟卷(附答案)
- 船舶主机选型计算
- 托育理论与实务智慧树知到答案章节测试2023年温州大学
评论
0/150
提交评论