Anzeigen: Object Pascal C++
Anzeigeeinstellungen

Optimierung (Object Pascal)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Liste der Object Pascal-Compiler-Direktiven - Index

Typ

Option

Syntax

{$O+} oder {$O-} {$OPTIMIZATION ON} oder {$OPTIMIZATION OFF}

Vorgabe

{$O+} {$OPTIMIZATION ON}

Bereich

Lokal (außer Global für den plattformübergreifenden Object Pascal-Compiler für das iOS-Gerät)



Die Direktive $O steuert die Codeoptimierung. Im Status {$O+} führt der Compiler eine Anzahl von Codeoptimierungen durch, indem er beispielsweise Variablen in CPU-Registern platziert, doppelte Teilausdrücke eliminiert und Induktionsvariablen generiert. Im Status {$O-} werden diese Optimierungen nicht durchgeführt.

Außer in bestimmten Testsituationen sollte die Codeoptimierung immer aktiviert sein. Die Optimierungen des Object Pascal-Compilers führen zu keinerlei Änderungen der Funktionsweise des Programms. Der Compiler führt also keine "unsicheren" Optimierungen durch, die die besondere Aufmerksamkeit des Programmierers erfordern.

Hinweise:
  • Mit der Direktive $O kann die Optimierung nur für eine ganze Prozedur oder Funktion ein- oder ausgeschaltet werden. Dies ist nicht für bestimmte Zeilen innerhalb einer Routine möglich.
  • Bei iOS-Anwendungen für iOS-Geräte (die also den Compiler für iOS-Geräte verwenden) hat die Direktive $O einen globalen Gültigkeitsbereich. Der Compiler erzeugt keine Warnungen oder Hinweise, sondern bei der Optimierung wird die letzte Einstellung verwendet, wenn mehrere $O-Optionen in einer einzelnen Quellcodedatei vorhanden sind.
    Bei iOS-Anwendungen für den iOS-Simulator (die den Compiler für den iOS-Simulator verwenden) hat die Direktive $O genau wie bei den Object Pascal-Desktop-Compiler einen lokalen Gültigkeitsbereich.
Meine Werkzeuge
In anderen Sprachen