2012-01-13 21 views
2

私は最近、Dev-C++からVisual C++ 2010に移行しました。コンパイルして、best-optimizationオプションを切り替えてDev-C++でコードを実行すると、コンパイル時間が大幅に短縮され、ほぼ半分(mingw32)になりますが、Visual C++ 2010で最適化オプションを見つけることができません。コンパイラにコードを最適化するよう指示しますか?Visual C++コンパイラの最適化

+0

最適化を有効にするときにコンパイル時に*減少*が見られるのは変です。私はあなたがVisual Studioでそれを見ることに疑いがあります。最適化を有効にしてビルドするのに長い*時間がかかります。しかし、それは大丈夫です。なぜなら、あなたはそれほど頻繁にそうしないからです。 –

+0

これは、古いディスクや遅いディスクで実行しているときにはっきりとわかりました。確かに、それはあなたが期待すべき行動ではありません。 – Mario

+0

最速のコード(リリースビルドのデフォルト設定)または完全な最適化を行うために/ Oxを探している場合は、[/ O2コンパイラオプション](http://msdn.microsoft.com/en-us/library/8f8h5cxt.aspx)をお探しください。これらはDev-C++の最適最適化オプションと同等です。 –

答えて

4

プロジェクトを右クリックし、[プロパティ]を選択します。現在の設定が「リリース」であることを確認します。ウィンドウの左側に、異なるカテゴリのツリービューが表示されます。最適化オプションはC/C++とリンカのエントリに分割されています。

また、最適化とは結果のバイナリが最適化されることを意味します。バイナリを実際にビルドしないでください。速度の向上は、デバッグコードなどを追加する必要がないために説明されるかもしれませんが、一般的には、デバッグビルドを作成するよりも最適化を伴うリリースバージョンを作成する方が時間がかかります。

+1

これらの最適化オプションを混乱させる必要はありません。 「リリース」モードに切り替えると、自動的に既定の最適化設定が有効になります。これは、特にVisual Studioを初めて使用する人にとっては十分です。オプションはすべてかなり混乱する可能性があります。 –

+0

ありがとうございます(リリースモードで動作しますが、タイミングはあまり改善されていません)、デバッグモードでも最適化を/ oxに設定しましたが、デバッグ機能を無効にする必要があります。 –

+0

デバッグ情報がpdbファイルに格納されます。リリースモードでは、実際のバイナリにデバッグ情報はありません(デバッグモードについては100%ではありません)。 – Mario

0

私はVS C++ Expressを持っているが、それは、「プロパティ」を選択し、「プロジェクト」メニューで

...フルバージョンで同じである必要があります。これにより、すべてのプロジェクト設定でダイアログが開きます。利用可能なさまざまなオプションを見てみると、すぐに最適化を変更する場所が見つかります。

また、リリースモードでビルドする場合、いくつかの最適化がオンになっていることに注意してください。

関連する問題