Debug和Release版本的区别
Debug 和 Release 并没有本质的区别,他们只是预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。既然Debug和 Release仅仅是编译选项的不同,那么为什么要区分Debug和Release版本呢?
Debug和Release,在我看来主要是针对其面 向的目标不同的而进行区分的。Debug通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发 人员提供强大的应用程序调试能力。由于Debug版本包括调试信息,所以要比Release版本大很多(可能大数百K至数M)。而Release通常称为发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信 息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
注意:
1. 在使用Visual Studio发布程序时,既可以使用Debug版本,也可使用Release版本。通常在发布软件时,都是用Release版本进行发布。
2. 在使用不同版本时,使用的第三方lib和dll也应当与之对应。比如Release版本的程序,使用了VTK的lib和dll,这里的静态链接库和动态链接库也应当是Release版本。