【问题标题】:Switching from Debug into Release Mode with VS2010 as IDE and Intel C++ Compiler 13使用 VS2010 作为 IDE 和 Intel C++ Compiler 13 从调试切换到发布模式
【发布时间】:2012-09-24 19:02:25
【问题描述】:

我有一个来自 SDK 的插件代码。 代码处于调试模式。 我使用英特尔编译器,它只在发布模式下应用优化。

在项目的配置管理器下只定义了“调试”模式。

如何切换到“发布”模式并启用所有英特尔编译器的优化? 如果我在调试模式下启用它们,则不会应用任何内容(空报告)。

我找不到这样做的诀窍。

谢谢。

附: 我仍然使用 /MT 开关。

【问题讨论】:

    标签: visual-studio-2010 debugging compiler-construction icc


    【解决方案1】:

    项目配置由用户管理,如果缺少配置,您可以自行创建发布。在内部,它们可能因编译器选项和定义而有所不同。当我的电脑很慢时,我有时会使用我创建的配置,显然命名为Debug_Optimized

    例如,Debug 配置通常定义了DEBUG。它使一些代码行注释掉,以加快生成的程序。

    您通常可以通过基于现有配置来加快创建另一种配置。查找所有“性能”和“优化”选项卡并根据您的需要进行设置。通常没有一种最佳配置(有时“优化大小”比“优化速度”更快)。试试这些选项。

    【讨论】:

    • 嗨,我可以(并且确实)设置了新配置。我从给定的(在代码示例中)“调试”模式开始。然而,无论我尝试了哪个开关,我都无法让编译器在“非调试模式”下工作,这会取消任何优化(尽管我设置了优化)。问题是,哪些设置告诉编译器在调试模式下工作,我该如何关闭它们?谢谢。
    • 问题是,我没有使用 Intel 编译器和 Visual Studio 的经验。也许尝试将这些选项添加到最新的部分,命令行参数?
    • 我在切换到 MS 编译器时没有任何问题。是否有任何迹象表明我可以在 MS 编译器中使用在调试或发布模式下编译的代码?谢谢。
    • 我再说一遍:没有调试和发布模式。有编译器选项,这些选项的常用集合放在默认的 Debug 和 Release 配置中。
    • 我的意思是我可以使用#IFDEF 来了解当前工作的模式吗?我明白你的意思,我尝试了配置中我能想到的所有选项,但它似乎仍然在“调试”模式下工作(我的意思是编译器添加调试数据并关闭任何优化)。
    【解决方案2】:

    好的,解决办法就是这样, 首先使用 /MD 或 /MD,这是微不足道的。 然后定义 NDEBUG。 请注意在项目中的每个文件中执行此操作。 在我的例子中,一些文件被设置为 /MTd,它设置了调试模式。

    我使用了英特尔编译器,这个线程可能会有所帮助: http://software.intel.com/en-us/forums/topic/328136

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      • 1970-01-01
      • 2017-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多