質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

2回答

6222閲覧

.NETをコンパイルするときの「最適化を有効にする(E)」について

kotetu

総合スコア34

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

2クリップ

投稿2019/01/24 06:35

閲覧ありがとうございます。

Visual Studio2008であるプログラムをコンパイルするときに、最適化をするかしないかの場面があります。
詳細オプションにある「最適化を有効にする(E)」にチェックボックスを入れるかで選択ができます。

では、一般的な最適化の意味合いとこの「最適化を有効にする(E)」の意味の違いって何ですか?

何か特別な意味合いがあるのですか?
例えば、このセキュリティが固いパソコンで最適化されているエグゼを実行すると、セキュリティポリシーに反したウイルス(若しくは、ほかの原因的要因)と判断されて実行されないとか。etc...

それが正しいので合ったら、最適化されたエグゼファイルを動かすためには、セキュリティポリシーを甘くするしかないとか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takabosoft

2019/01/24 06:47

「一般的な最適化の意味合い」ってなんでしょう?
guest

回答2

0

ベストアンサー

こんにちは。

質問にある一般的な最適化というのが何なのか不明ですが、.NETの最適化は、基本的には、デバッグのための冗長な出力を無効にし、実行効率の改善と成果物のサイズ削減を行います。
通常のビルドでは、Visual Studio等でステップ実行する際に各メソッドの実行結果や変数の中身を表示できるよう、各関数の実行結果をいちいち変数に格納するような記述や、何もしない1ステップを挿入する等の処理を行っています。最適化を有効にするとこれらの(実際の計算処理には)不要な処理が削減され、実行速度が向上する代わりにステップ実行がやや不便になります。
それ以外にも、アセンブリに最適化済みのメタデータを付けたりいろいろやってるようですが、基本的には「利便性の代わりに速度をとる」だけの設定だと思ってください。どういう経緯でセキュリティポリシーがどうこうに行き着いたのかはわかりませんがそういう問題が発生することはないです。また、Debug/ReleaseのReleaseビルドを選択するとデフォルトで最適化が有効になっています。

投稿2019/01/24 09:34

tamoto

総合スコア4297

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kotetu

2019/01/24 10:45

そういう専門用語?であったり、こういう処理、方法を取っているからこうなんだ。みたいな回答が欲しかったんです。 ありがとうございます!
guest

0

MSのページ、下記で説明されている optimizeオプションと同じ設定だとおもうので、

https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-options/optimize-compiler-option

「最適化を実行すると、出力ファイルのサイズが小さくなり、速度と効率が向上します。」

という効果をもたらす指定かと。メリットデメリットについてはもう少し踏み込んで説明してくださる方の登場を待ちましょうか……(ごめんなさい)。

投稿2019/01/24 06:52

backyard

総合スコア534

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問