关于Vs Debug和Release版本的区别
2015-06-29 23:44
239 查看
一直很好奇Debug和Release版本的区别:以Debug发布的程序安装到客户处,双击运行后会提示缺各种dll文件,整的跟水土不服似的。无奈只能发布Release的。对于Release的程序出错了实在不好定位,因为没有pdb文件连个变量名都找不到。虽然可以在关闭优化选项的同时生成调试数据库,但总觉得Release工程调试起来没Debug的顺手。网上找了找关于Debug和Release的区别,这里发一个pdf文档:Debug和Release的区别
仔细看了全文发现他们之间最大的区别是:
1)Debug 版本代码生成选项为:/MDd /MLd 或 /MTd 最终程序使用Debug runtime library(调试版本的运行时刻函数库)
2)Release 版本代码生成选项为:/MD /ML 或 /MT 最终使用发布版本的运行时刻函数库
我猜想,只要修改这个选项就能往客户那发布Debug版本的工程了,以下为验证过程:
1). 使用/MDd编译的Debug工程,命名为MDd:
运行结果为:
2).1). 使用/MD编译的Debug工程,命名为MD:
运行结果为:
由此可见,只要修改代码生成后依赖的运行库,就能在客户那发布Debug版的工程了~
仔细看了全文发现他们之间最大的区别是:
1)Debug 版本代码生成选项为:/MDd /MLd 或 /MTd 最终程序使用Debug runtime library(调试版本的运行时刻函数库)
2)Release 版本代码生成选项为:/MD /ML 或 /MT 最终使用发布版本的运行时刻函数库
我猜想,只要修改这个选项就能往客户那发布Debug版本的工程了,以下为验证过程:
1). 使用/MDd编译的Debug工程,命名为MDd:
运行结果为:
2).1). 使用/MD编译的Debug工程,命名为MD:
运行结果为:
由此可见,只要修改代码生成后依赖的运行库,就能在客户那发布Debug版的工程了~
相关文章推荐
- 2015062906 - EffactiveJava笔记 - 第46条 foreach优先传统for循环(2)
- 数组基础以及常用操作
- QQ登录
- Java 1.5新特性Enum的学习和使用
- java复习数组
- Window XP安装oracle11gR2数据库先决条件检查的问题解决(实测有效)
- GET SOME ARTICLES FROM OTHER WEBSITE
- web安全框架Spring Security
- Web开发入门学习笔记
- sizeof()与strlen()的区别
- 4.21
- Struts2单例引起的问题及解决思考
- Unity 人物建模与互动
- JavaScript 游戏中的面向对象的设计
- ucore操作系统lab5 ——用户进程管理
- JAVA中enum的常见用法
- Hibernate也需要呵护——Hibernate的泛型DAO
- 4.20
- Newtonsoft.Json高级用法
- Java enum的用法详解