VC++ 如何发布程序(即release版本程序)
2011-07-07 11:02
369 查看
编了这么多程序却不知道如何发布,实在汗颜。大家都知道VC编译默认生成debug版本的程序,但是debug版本程序无法运行在没有安装VC
的电脑上,这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行。
那么如何用VC++ 6.0发布程序
1、首先确定Debug版无错,注意Trace等调试方法可能造成的错误
2、Release版的exe文件链接的是标准的MFC DLL,比如MFC42.dll。这些DLL在安装Windows的
时候,就会装到系统中。因此,这样的exe在没安装Visual C++ 6.0 的机器上也能运行。而
Debug版不能,除非使用静态链接
生成release版的步骤:
build->set Active configuration->工程名-win32 Release
我遇到的一个错误:
Release/Server.pch No such file or directory
Server是我的程序名。解决方法:
工程——设置——C/C++——分类:预编译的头文件——不使用预补偿页眉——确定——全部
重建
debug版本和release版本的区别:
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行
了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项
Debug 版本:
/MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)
/Od 关闭优化开关
/D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对
assert函数)
/ZI 创建 Edit and continue(编辑继续)数据库,这样在调试过
程中如果修改了源代码不需重新编译
/GZ 可以帮助捕获内存错误
/Gm 打开最小化重链接开关,减少链接时间
Release 版本:
/MD /ML 或 /MT 使用发布版本的运行时刻函数库
/O1 或 /O2 优化开关,使程序最小或最快
/D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)
/GF 合并重复的字符串,并将字符串常量放到只读内存,防止
被修改
实际上,Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们
甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本
的电脑上,这就要就我们生成release版本的程序,因为release版本在未安装VC的电脑上也能运行。
那么如何用VC++ 6.0发布程序
1、首先确定Debug版无错,注意Trace等调试方法可能造成的错误
2、Release版的exe文件链接的是标准的MFC DLL,比如MFC42.dll。这些DLL在安装Windows的
时候,就会装到系统中。因此,这样的exe在没安装Visual C++ 6.0 的机器上也能运行。而
Debug版不能,除非使用静态链接
生成release版的步骤:
build->set Active configuration->工程名-win32 Release
我遇到的一个错误:
Release/Server.pch No such file or directory
Server是我的程序名。解决方法:
工程——设置——C/C++——分类:预编译的头文件——不使用预补偿页眉——确定——全部
重建
debug版本和release版本的区别:
Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行
了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。
Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项
Debug 版本:
/MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)
/Od 关闭优化开关
/D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对
assert函数)
/ZI 创建 Edit and continue(编辑继续)数据库,这样在调试过
程中如果修改了源代码不需重新编译
/GZ 可以帮助捕获内存错误
/Gm 打开最小化重链接开关,减少链接时间
Release 版本:
/MD /ML 或 /MT 使用发布版本的运行时刻函数库
/O1 或 /O2 优化开关,使程序最小或最快
/D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)
/GF 合并重复的字符串,并将字符串常量放到只读内存,防止
被修改
实际上,Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。事实上,我们
甚至可以修改这些选项,从而得到优化过的调试版本或是带跟踪语句的发布版本
相关文章推荐
- VC++ 如何发布程序(即release版本程序)
- 如何使用VC++调试程序 Debug版本与Release版本
- VC++如何调试程序的 Release 版本?(转)
- 如何使用VC++6.0发布程序(即release版本程序)
- 如何使用VC++6.0发布程序(即release版本程序)
- 如何使用VC++调试程序 Debug版本与Release版本
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- 如何利用 release 版本的 backtrace 来定位 android NDK 程序的崩溃位置
- VC中如何产生 Release 版本二进制文件对应的 PDB 文件
- VC中如何产生 Release 版本二进制文件对应的 PDB 文件(转)
- VC++ 6.0如何生成发布(VC++ 如何生成release版
- React Native 程序部署至 iOS 应用商店之前需要的配置和如何生成 release 版本的 APK 包
- VC下发布的Release版程序的异常捕捉
- 如何指定让Android的NDK工具编译出Release版本或Debug版本的Native程序
- 教你如何使用android studio发布release 版本(完整版)
- Qt5 QML程序Release版本发布程序无法显示的问题解决过程。
- 如何调试程序的 Release 版本
- VC2008发布程序时指定库版本
- 如何发布vc调用Python的独立运行的程序
- 教你如何使用android studio发布release 版本(完整版)