/Oi (Systeminterne Funktionen erstellen)

Ersetzt einige Funktionsaufrufe durch intrinsische oder anderweitig spezielle Formen der Funktion, mit denen Ihre Anwendung schneller ausgeführt werden kann.

Syntax

/Oi[-]

Bemerkungen

Programme, die systeminterne Funktionen verwenden, sind schneller, da sie nicht den Mehraufwand von Funktionsaufrufen haben, aber aufgrund des erstellten zusätzlichen Codes möglicherweise größer sind.

Weitere Informationen dazu , welche Funktionen systeminterne Formen haben, finden Sie unter Systeminterne Funktionen.

/Oi ist nur eine Anforderung an den Compiler, einige Funktionsaufrufe durch systeminterne Funktionen zu ersetzen. Der Compiler kann die Funktion aufrufen (und den Funktionsaufruf nicht durch eine systeminterne Funktion ersetzen), wenn dies zu einer besseren Leistung führt.

x86-spezifisch

Die systeminternen Gleitkommafunktionen führen keine speziellen Überprüfungen der Eingabewerte durch und arbeiten daher in eingeschränkten Eingabebereichen und haben andere Ausnahmebehandlungs- und Begrenzungsbedingungen als die Bibliotheksroutinen mit demselben Namen. Die Verwendung der tatsächlichen systeminternen Formen impliziert den Verlust der IEEE-Ausnahmebehandlung _matherrerrno sowie den Verlust von - und -Funktionen. Letzteres impliziert den Verlust der ANSI-Konformität. Die systeminternen Formen können gleitkommaintensive Programme jedoch erheblich beschleunigen, und für viele Programme sind die Konformitätsprobleme wenig praktisch.

Sie können die Za-Compileroption verwenden, um die Generierung echter systeminterner Gleitkommaoptionen zu überschreiben. In diesem Fall werden die Funktionen als Bibliotheksroutinen erzeugt, die Argumente direkt an den Gleitkommachip übergeben, statt sie auf dem Programmstapel abzulegen.

END x86-spezifisch

Sie verwenden auch systeminterne Funktionen, um systeminterne Funktionen oder Funktionen (C/C++) zu erstellen, um einen Funktionsaufruf explizit zu erzwingen.

So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Wählen Sie die Eigenschaftenseite KonfigurationseigenschaftenC>/C++>-Optimierung aus.

  3. Ändern Sie die Eigenschaft Systeminterne Funktionen aktivieren.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

/O-Optionen (Code optimieren)
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile
Intrinsische Compilerfunktionen