0

Visual C 2008 と Visual C 2010 の両方を使用して構築しているかなり複雑なアルゴリズムがあります。VC 2010 (具体的には /Og) で最適化を有効にしてコンパイルすると、アルゴリズムが悪い出力を生成します。

VC 2008 (最適化ありまたはなし) または最適化なしの VC2010 でまったく同じコードをビルドすると、正しく動作するアルゴリズムが生成されます。

最適化を有効にしてコードをデバッグするのに非常に苦労しており、かなり長い間これに固執しています。バージョン間の最適化の違いを知っている人はいますか?

4

1 に答える 1

0

これはコンパイラのバグである可能性がありますが、/Wall を試してすべての警告を有効にし、すべてを修正する必要があります。問題を切り分けるために使用できる /RTCu (初期化されていないローカル使用状況チェック) などのランタイム チェックもあります。また、コード内のすべての型キャストを調べて、それらが正当であることを確認してください。

于 2012-05-31T00:53:34.793 に答える