在vc和vs下进行编程时,会遇到debug与release两种配置。
如果学过《编译原理》那么就很容易理解为什么会有这两种配置了。
一个编译器一般包括六个阶段:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成。
简单说来,debug生成的exe文件没有“代码优化”这个阶段。而release生成的exe是有这个阶段的。
为什么要做这样的区分呢?
debug主要是便于调试;
release主要是考虑exe文件的效率。
没有进行代码优化,生成的目标代码几乎跟源代码一条一条地対应着。这样就比较方便调试。