optimize
構文
#pragma optimize=[goal] [level] [vectorize] [disable]
パラメータ
| 以下から選択します。
|
| 最適化レベルを |
| NEONベクタ命令の生成を有効にします。 |
| 1つまたは複数の最適化を無効にします。以下から選択:
|
説明
このプラグマディレクティブは、最適化レベルを下げる場合や、特定の最適化を無効化する場合に使用します。このプラグマディレクティブは、ディレクティブ直後の関数にのみ影響します。
パラメータsize、balanced、speed、no_size_constraintsは、最適化レベル[高]でのみ効果があり、速度とサイズを同時に最適化することはできないため、これらのどれか1つだけを使用できます。また、このプラグマディレクティブにプリプロセッサマクロを埋め込むことはできません。埋め込まれたマクロは、プリプロセッサでは展開されません。
注記
#pragma optimizeディレクティブを使用して指定した最適化レベルが、コンパイラオプションを使用して指定した最適化レベルよりも高い場合、このプラグマディレクティブは無視されます。
例
#pragma optimize=speed
int SmallAndUsedOften()
{
/* Do something here. */
}
#pragma optimize=size
int BigAndSeldomUsed()
{
/* Do something here. */
}