1

我有一个需要在发布模式下使用的库,因为它的性能在没有优化的情况下会显着降低。当我在 /MDd 中将它与 /MD 一起使用时,它会发出 crt 警告,我认为这很糟糕。(可能导致堆损坏?)

所以我所做的是,保留所有发布优化,但使用 /MDd 链接库。警告消失了。但是,这会导致任何问题或性能损失吗?

4

2 回答 2

2

使用 /MDd 而不是 /MD 可能会导致性能损失,但这绝对取决于您的操作。如果您无论如何都不在性能关键代码中使用运行时,您将不会看到任何减速。或者,您可以通过其他方式解决您的问题:使用 /MD 构建应用程序和库,但该应用程序仍然具有调试信息且没有优化。

于 2012-04-16T12:50:08.230 回答
1

我很难学到这一点。花了 3 天时间调试一个堆损坏错误,以为我正在释放一些已经被释放的东西,但最后我认为这就是它。我还没有尝试过。这甚至不完全是我的代码。基本上,我正在处理的应用程序是使用代码生成/MDd 构建的,用于调试构建,而使用我的应用程序库的客户端应用程序是使用代码生成/MD 构建的,用于调试构建。这突然开始导致堆损坏错误。如果解决此问题,将跟进。谢谢。

于 2012-06-16T07:17:18.870 回答