最適化(Delphi)

提供: RAD Studio
移動先: 案内検索

Delphi コンパイラ指令のリスト:インデックス への移動


種類

スイッチ

構文

{$O+} または {$O-} {$OPTIMIZATION ON} または {$OPTIMIZATION OFF}

デフォルト

{$O+} {$OPTIMIZATION ON}

スコープ

ローカル(DCCIOSARM64 コンパイラの場合はグローバル)


$O 指令はコードの最適化を制御するものです。{$O+} 状態の場合、コンパイラはいくつものコード最適化を実行します。たとえば、CPU レジスタへの変数の格納、共通の部分式の削除、誘導変数の生成などです。{$O-} 状態では、このような最適化はすべて無効になります。

特定のデバッグ状況以外では、最適化を無効にする必要はないはずです。Delphi コンパイラで実行されるどの最適化の場合も、プログラムの意味は絶対に変更されません。つまり、プログラマが特に注意しなければならないような "安全でない" 最適化はコンパイラでは行われません。

メモ:
  • $O 指令は、手続きまたは関数全体の最適化のオン/オフだけを切り替えます。 ルーチン内の 1 行または複数行について、最適化を有効または無効にすることはできません。
  • 64 ビット iOS デバイスをターゲットとする iOS アプリケーション(つまり DCCIOSARM64 コンパイラを使用するもの)の場合、$O 指令のスコープはグローバルとなります。単一のソース コード ファイルに $O オプションが複数存在した場合、コンパイラは、警告やヒントのメッセージを発しませんが、オプティマイザは最後の設定を使用します。

関連項目