2012-04-16 8 views
1

私はリリースモードで使用する必要があるライブラリを持っています。これは、パフォーマンスが最適化なしで大幅に低下するためです。 私/ MDdで/ MDと一緒に使うと、crt警告が出ます。これは悪いと思います。 (ヒープの破損を引き起こす可能性があります)/MDdアプリケーションで/ MDdライブラリを使用する

私がしたことは、すべてのリリースの最適化を維持するが、/ MDdとのリンクライブラリです。 警告が消えました。 しかし、これは問題やパフォーマンスの損失を引き起こす可能性がありますか?

+0

デバッグでアプリケーションをビルドしているときでも、リリース時に使用する必要がありますか? –

+0

はい。私はたくさんのデバッグを行っていますが、そのライブラリには恐ろしいデバッグ性能があります。 – mikbal

答えて

2

/MDの代わりに/ MDdを使用するとパフォーマンスが低下する可能性がありますが、これはあなたが何をするかによって決まります。とにかくパフォーマンスクリティカルなコードでランタイムを使用しないと、遅くなることはありません。 また、別の方法で問題を解決することもできます。/ MDを使用してアプリケーションとライブラリをビルドしますが、アプリケーションにはデバッグ情報があり、最適化は行われません。

+0

/MDdでは、減速がほとんど目立たない。これはデバッグビルドなので、私はそれと一緒に暮らすことができます。 ですが、ランタイムエラーの原因になりますか? – mikbal

+2

いいえ、/ MDと/ MDdを混在させない限り、すべてうまくいくはずです。 – ElektroKraut

1

私はこれを難しい方法で学びました。ヒープの破損エラーをデバッグするのに3日を費やしていました。私はすでに解放されていたものを解放していたと思います。私はまだそれを試しています。これは私のコードでさえ完全にはありません。私のアプリケーションライブラリを使用するクライアントアプリケーションは、デバッグビルドのためのコード生成/ MDで構築されていますが、基本的に私が開発しようとしているアプリケーションは、デバッグビルド用のコード生成/ MDdで構築されています。これは突然ひどい破損エラーを引き起こし始めました。これを修正すればフォローアップします。ありがとう。

関連する問題