利用VS2010工具,调试DLL文件的方法现总结如下:

在一个解决方案中生成两个工程,假设MYDLL和MYDLG两个工程,前者是DLL工程,后者DLG调用前边的DLL工程。设置如下:

目录如下:图,本文例子中,DLL文件和EXE文件都生成在下边的这个DEBUG文件中:D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug,当然,也可以生成在其他文件目录下,只要设置正确即可。

 
    目的:遵循DLL和exe最后生成的文件在一个目录内,且两个工程之间有种关联,使EXE工程能够调用DLL工程。
首先编译DLL工程。
接着,进行下边的设置。

一、MYDLG工程设置

1.MYDLG工程采用调用静态MFC

2.输出目录要和将要生成的DLL文件在一个目录下,如设为D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug

3.采用静态调用DLL的方式调用我自己生成的lib文件 (很关键),如果采用动态调用,就需要用loadlibrary函数,并为每个导出的函数重新命名。

 
添加库目录或者添加到附加库目录中,两者原则上都可以,首选修改附加库目录
添加到库目录如下图,目录为D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug
 
 
添加到附加库目录中,如下图

这样,DLG工程就和DLL工程之间建立了关联。

接下来,再来设置DLL工程。。。。。。

二、MYDLL工程里面设置:

1、MYDLL工程采用静态链接库,

2、输出目录采用默认目录如D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug

3、设置本地Wiindows调试器中命令参数为DLG工程上边生成的exe文件路径,如D:\My Documents\Visual Studio 2010\Projects\MYDLL\Debug(关键)。

(题外话:如果已经有一个写好的EXE,可以把已经存在的exe随便放在一个路径下,然后在此处的命令参数中设置好exe的路径,之后就可以启动dll,单步调试dll了)

这样DLL就和DLG工程间建立了关联。

之后,就可以再DLG工程中调用DLL工程中的接口函数了。

VS2010 C++环境下DLL和LIB文件的生成与调试 备忘的更多相关文章

  1. VS2010 C++环境下DLL和LIB文件的生成与调试

    利用VS2010工具,调试DLL文件的方法现总结如下: 在一个解决方案中生成两个工程,假设MYDLL和MYDLG两个工程,前者是DLL工程,后者DLG调用前边的DLL工程.设置如下: 目录如下:图,本 ...

  2. VS2010 C++环境下DLL和LIB文件目录及名称修改

    VS2010 C++环境下DLL和LIB文件目录及名称修改 转自:http://blog.csdn.net/archielau/article/details/8507581 DLL工程,Debug版 ...

  3. Code::Blocks环境下导入WS2_32.lib文件

    打开菜单选项中 Settings -> Compiler 点击Add 找到lib文件的路径,导入 点击OK--OK,完成!

  4. c++中.dll与.lib文件的生成与使用的详解

    两种库: • 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.• 包含函数代码本身,在编译时 ...

  5. 水晶报表在vs2010 WPF环境下的尝试

    原文:水晶报表在vs2010 WPF环境下的尝试 由于VS2010没有集成水晶报表组件,尝试前必须先安装 水晶报表 for VS2010,若机器未安装的可点击这里>>>下载安装 新建 ...

  6. MFC中的DLL、LIb文件的创建、使用

     动态链接库Dynamic-Linked Lib 的创建与使用 动态链接库(Dynamic Link Library 或者 Dynamic-link Library,缩写为 DLL),是微软公司在微软 ...

  7. VC6.0 设置动态链接库工程生成dll以及lib文件的位置

    在"Projet"->"Settings..."的"Link"选项卡中 "Output file name"中设置 ...

  8. windows环境下svn同步web文件[转]

    windows环境下svn同步web文件 SVN在团队开发中使用非常普遍,是一个很方便的版本控制系统. 如果要是能将SVN服务器上的数据自动发布到Web服务器,那将是整个项目开发.测试更加便捷.利用S ...

  9. FormData使用方法详解,以及在IE9环境下,前端的文件上传问题

    FormData的主要用途有两个: 1.将form表单元素的name与value进行组合,实现表单数据的序列化,从而减少表单元素的拼接,提高工作效率. 2.异步上传文件 一.创建formData对象 ...

随机推荐

  1. 20145326 《Java程序设计》第6周学习总结

    20145326 <Java程序设计>第6周学习总结 教材学习内容总结 第十章 一.使用InputStream与OutputStream 1.串流设计的概念 想活用输入/输出API,一定要 ...

  2. 20145326 《Java程序设计》第4周学习总结

    20145326 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 一.何谓继承 1.继承共同行为 面向对象中,子类继承父类,避免重复的行为定义.不过并非为了避免重复定义行为就 ...

  3. uboot 版本号生成过程

    uboot 版本号生成过程 uboot版本号貌似与实际开发不相关,但是我现在遇到一个bug与版本号关联密切. 这个bug与<uboot dm9000驱动故障>基本上是一样的,但是在上一篇博 ...

  4. Ubuntu16.04 国内更新源

    在修改source.list之前要先备份 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 替换内容到source.list中 阿里云源: ...

  5. [调参]CV炼丹技巧/经验

    转自:https://www.zhihu.com/question/25097993 我和@杨军类似, 也是半路出家. 现在的工作内容主要就是使用CNN做CV任务. 干调参这种活也有两年时间了. 我的 ...

  6. nginx第三方模块安装方法

    nginx第三方模块安装方法 ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 比如echo模块. 没安装前,使用测试. location /tes ...

  7. 牛客网——G大水题

    链接:https://www.nowcoder.net/acm/contest/75/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...

  8. 051——VUE中自定义指令:directive

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. PHP:第五章——字符串的分割与替换

    <?php header("Content-Type:text/html;charset=utf-8"); //字符串的截取与分割 //1.字符串截取类函数 //1)trim ...

  10. 【转】HTTP协议—— 简单认识TCP/IP协议

    转自:www.cnblogs.com/roverliang/p/5176456.html 大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际 ...