/Oi (Systeminterne Funktionen erstellen)
Aktualisiert: November 2007
Diese Option ersetzt einige Funktionsaufrufe durch systeminterne oder sonstige spezielle Formen der Funktion, die dazu beitragen, dass die Arbeitsgeschwindigkeit der Anwendung erhöht wird.
/Oi[-]
Hinweise
Programme, die systeminterne Funktionen verwenden, sind von verkürzter Laufzeit geprägt, weil der Verwaltungsaufwand von Funktionsaufrufen entfällt, aber sie können wegen des zusätzlich erstellten Codes größer sein.
Weitere Informationen darüber, welche Funktionen über systeminterne Formen verfügen, finden Sie unter intrinsic.
/Oi ist lediglich eine Anforderung an den Compiler, bestimmte Funktionsaufrufe mit systeminternen Funktionen zu ersetzen. Die Funktion wird möglicherweise vom Compiler aufgerufen (und nicht durch eine systeminterne ersetzt), wenn dadurch eine bessere Leistung erzielt wird.
x86-spezifisch
Da die systeminternen Gleitkommafunktionen die Eingabewerte nicht gründlich prüfen, arbeiten sie in beschränkten Eingabebereichen und haben eine andere Ausnahmebehandlung und andere Grenzwertbedingungen als die gleichnamigen Bibliotheksroutinen. Die Verwendung der echten systeminternen Formen impliziert den Verlust der Ausnahmebehandlung nach IEEE sowie den Verlust der _matherr und errno-Funktionen. Letztere implizieren den Verlust der ANSI-Konformität. Die systeminternen Funktionen können jedoch Programme mit intensiven Gleitkommaberechnungen erheblich beschleunigen, und für viele Programme hat die Konformität wenig praktische Bedeutung.
Mithilfe von /Za, /Ze (Spracherweiterungen deaktivieren) können Sie die Erzeugung echter systeminterner Gleitkommaoptionen überschreiben. In diesem Fall werden die Funktionen als Bibliotheksfunktionen erzeugt, die die Argumente direkt an den Gleitkommachip übergeben, statt sie in den Programmstapel abzulegen.
END x86-spezifisch
Sie können außerdem intrinsic dazu verwenden, systeminterne Funktionen zu erstellen, oder function (C/C++), um einen Funktionsaufruf explizit zu erzwingen.
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Gewusst wie: Öffnen von Projekteigenschaftenseiten.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite Optimierung.
Ändern Sie die Eigenschaft Systeminterne Funktionen aktivieren.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe EnableIntrinsicFunctions.