optimize
pragma
最適化を関数ごとに指定します。
構文
#pragma optimize( "
[ optimization-list ]",
{on
|off
})
解説
optimize
pragma は関数の外部に示される必要があります。 pragma の後で定義されている最初の関数に対して効果があります。 on
引数と off
引数は、optimization-list で指定されたオプションのオンとオフを切り替えます。
optimization-list には、次の表に示す 0 個以上のパラメーターを指定できます。
最適化のパラメーター Pragma
パラメーター | 最適化の種類 |
---|---|
g |
グローバル最適化を有効にします。 削除されました。 詳細については、「/Og (グローバル最適化)」を参照してください。 |
s または t |
マシン語コードの省略シーケンスまたは高速シーケンスを指定します。 |
y |
プログラム スタックにフレーム ポインターを生成します。 |
これらのパラメーターは、/O
コンパイラ オプションで使用されるのと同じ文字です。 たとえば、次の pragmaは /Os
コンパイラ オプションと等価です。
#pragma optimize( "s", on )
optimize
pragma の特殊な形式として、空の文字列 (""
) でこのディレクティブを使用できます。
off
パラメーターを使用すると、g
、s
、t
、y
のすべての最適化がオフになります。
on
パラメーターを使用すると、/O
コンパイラ オプションを使用して指定した最適化にリセットされます。
#pragma optimize( "", off )
/* unoptimized code section */
#pragma optimize( "", on )