- - PR -
コードの最適化オプションについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-02-09 10:27
VS.Net2003を使って、C#でアプリを作っています。
アプリの構成プロパティに『コードの最適化』という項目がありますが、 これのヘルプを見ると、 「出力ファイルのサイズを小さくし、速度と効率を高めます。」 と書かれています。 最適化することによるデメリットというのは何かあるのでしょうか? 単純に考えてコンパイルに時間が通常よりかかるだろう・・・というのは思いつくのですが、 例えば、例外発生時のエラー情報が少なくなるから、デバッグ時には使わない方がいいとか 何か注意しないといけないことはあるのでしょうか? よろしくお願いします。m(_ _)m | ||||||||
|
投稿日時: 2006-02-09 10:35
そうです。デバッグ時には当然使いません。「例外発生時のエラー情報が少なくなるから」だけでなく、書いてあるコード通りにコンパイルされないため、デバッグできません。 他は…デメリットはないと思う…。多分…。 _________________ 囚人のジレンマな日々 | ||||||||
|
投稿日時: 2006-02-09 11:13
デバッグできないんですね。 リリースのときは、コードの最適化した方が良さそうなので、 アプリ完成後に最適化することにします。 囚人さん、ありがとうございました。 | ||||||||
|
投稿日時: 2006-02-09 11:27
/optimize オプションのことかな?
_________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-09 11:43
デバッグできないと言うよりも、記述したコードどおりの順番で処理が行われるわけではないので、デバッグが困難になります。
もちろん最適化を行った状態での動作確認も忘れないで下さいね。最適化をかけたことによって初めて表面化するバグもありえますので。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ | ||||||||
|
投稿日時: 2006-02-09 12:04
じゃんぬさん、ありがとうございます。
はい、/optimize オプション のことです。 すみません、デバッグ時の問題が書かれてました・・・。 最適化されたコードのデバッグの内容をみると、
とC++について書かれているのですが、 C#でも既定で、リリース構成では最適化されているのでしょうか? 次の行を見ると、最適化するか悩みます・・・。 よろしくお願いします。m(_ _)m | ||||||||
|
投稿日時: 2006-02-09 12:11
誤解がありませんか? Debug か Release かは、あくまで構成であって、 内容が絶対的に決め打ちされるものではないですよ。 Debug ビルドで最適化をオンにだってできますし、 Release ビルドでオフにすることもできます。 設定はプロジェクトのプロパティで参照および設定できます。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-02-09 12:47
最適化したときは、確認忘れないようにします。 甕星さん、ありがとうございます。
すみません、プロパティの設定は、デバッグとリリースで共通かと思ってました。 プロパティの設定で、デフォルトでは最適化オフになっていますので、 リリースのときは、最適化のオン・オフに関係なく最適化されるのかと思って質問しました>< じゃんぬさん、ありがとうございます。 |
1