【发布时间】:2019-10-22 10:01:45
【问题描述】:
【问题讨论】:
-
这个related question 有很多很好的信息。
标签: visual-studio visual-studio-2005 conditional-compilation
【问题讨论】:
标签: visual-studio visual-studio-2005 conditional-compilation
主要区别在于在调试模式下编译时,还会创建允许调试的 pdb 文件(因此您可以在代码运行时单步执行)。然而,这意味着代码没有优化。
【讨论】:
嗯,这取决于您使用的语言,但通常它们是 2 个独立的配置,每个配置都有自己的设置。默认情况下,Debug 在编译文件中包含调试信息(允许轻松调试),而 Release 通常启用优化。
就条件编译而言,它们各自定义了可以在程序中检查的不同符号,但它们是特定于语言的宏。
【讨论】:
Debug 和 Release 只是不同解决方案配置的标签。如果需要,您可以添加其他人。我曾经从事的一个项目有一个名为“Debug Internal”的项目,用于打开应用程序的内部编辑功能。如果你去Configuration Manager...(它在Build菜单上)你可以看到这个。您可以在Configuration Manager Dialog Box 下找到有关 MSDN 库的更多信息。
每个解决方案配置然后由一堆项目配置组成。同样,这些只是标签,这次是为您的项目设置的集合。例如,我们的 C++ 库项目有名为“Debug”、“Debug_Unicode”、“Debug_MT”等的项目配置。
可用设置取决于您正在构建的项目类型。对于 .NET 项目,这是一个相当小的集合:#defines 和其他一些东西。对于 C++ 项目,您需要调整更多种类的东西。
不过,一般来说,如果您希望在关闭优化器的情况下构建项目,并且希望在构建中包含完整的调试/符号信息(在 .PDB 文件中,通常)。当您希望打开优化器以及不希望包含完整的调试信息时,您将使用“Release”。
【讨论】: