700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > VS环境生成和调用DLL动态链接库

VS环境生成和调用DLL动态链接库

时间:2020-02-03 04:50:52

相关推荐

VS环境生成和调用DLL动态链接库

创建动态库方法:创建动态库是生成.dll .lib 两个个文件

文件 -> 新建 -> 项目 -> win32控制台应用程序 项目名称:DLLGenerator

应用程序类型:DLL 附加选项:空项目 建立源文件dllgenerator.cpp(不需要主函数,只写你需要动态调用的函数) //整数加法和乘法intAdd(inta,intb){returna+b;}intMul(intc,intd){returnc*d;} 建立头文dllgenerator.h(一定要把函数声明写好) intAdd(int,int);intMul(int,int); 建立源文件dllmain.cpp(一定要包含#include<windows.h>) - 下面的函数是VS自动生成,没生成复制即可。其实是在创建工程项目时不选空项目时候vs自动生成的,但不选空项目会产生很多其他文件和依赖项,本文教你建立最纯净的工程,注意包含window.h //dllmain.cpp:定义DLL应用程序的入口点。#include<windows.h>BOOLAPIENTRYDllMain(HMODULEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){switch(ul_reason_for_call){caseDLL_PROCESS_ATTACH:caseDLL_THREAD_ATTACH:caseDLL_THREAD_DETACH:caseDLL_PROCESS_DETACH:break;}returnTRUE;} 建立源文件Source.def - 建立方式如下图,选择 VisualC++ -> 模块定义文件(.def) - 在此文件第一行引号中填你的项目名称即可,EXPORTS下面列出要生成的函数名称 格式:“名称 @序号”)[cpp]view plaincopy LIBRARY"DLLGenerator"EXPORTSAdd@1Mul@2 点击菜单栏 生成 -> 生成解决方案 或者 按Ctrl+F5 输出栏显示 创建库 DLLGenerator.lib 和 生成DLLGenerator.dll lib文件里面有对dll文件的描述,所以生成的dll文件不要改名称,否则lib文件和dll文件无法对应 在项目方案目录里,Debug文件夹中可以找到DLLGenerator.lib 和DLLGenerator.dll, 把这两个文件和工程的头文件(dllgenerator.h)移动到一个空文件夹(E:\dlltest\DLL)中,以后你的项目用到此dll就包含这个目录,至此动态库创建完毕。项目调用动态库方法如下:调用动态库是调用 .dll .lib .h 三个文件文件 -> 新建 -> 项目 -> win32控制台应用程序 项目名称:DLLTestor 应用程序类型:控制台应用程序 附加选项:空项目 打开项目 -> 项目属性 -> 配置属性 -> VC++目录 -> 包含目录 加入DLLGenerator.h所在目录的绝对路径 (E:\dlltest\DLL),以分号间隔 打开项目 -> 项目属性 -> 配置属性 -> VC++目录 -> 库目录 加入DLLGenerator.lib所在目录的绝对路径 (E:\dlltest\DLL) 打开项目 -> 项目属性 ->配置属性 -> 链接器 -> 输入 -> 附加依赖项 中填上DLLGenerator.lib(以分号间隔),点击右下角 应用 确定 工程调用dll时首先在工程文件目录中查找dll,找不到后在C:\Windows\System32 中找。所以我们自己项目简单调用dll时就把生成的dll文件复制到工程目录中,如果经常用可以把dll文件放到C:\Windows\System32中 新建源文件main.cpp[cpp]view plaincopy #include<iostream>#include"dllgenerator.h"usingnamespacestd;intmain(){inta=2;intb=3;cout<<Add(a,b)<<endl;cout<<Mul(a,b)<<endl;} 点击菜单栏,调试 -> 开始执行(不调试) 或者按F5 运行结果: 至此调用动态库成功。 ---------------End-----------------

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。