feholdexcept
Speichert die aktuelle Gleitkommaumgebung im angegebenen Objekt, löscht die Gleitkomma-Statusflags und setzt die Gleitkommaumgebung wenn möglich in den ununterbrochenen Modus.
Syntax
int feholdexcept(
fenv_t *penv
);
Parameter
penv
Zeiger auf ein fenv_t
-Objekt, der eine Kopie der Gleitkommaumgebung enthalten soll.
Rückgabewert
Gibt null zurück, allerdings nur, wenn die Funktion erfolgreich die ununterbrochene Behandlung von Gleitkommaausnahmen aktivieren kann.
Hinweise
Die feholdexcept
-Funktion wird verwendet, um den Status der aktuellen Gleitkommaumgebung in das fenv_t
-Objekt zu speichern, auf das von penv
gezeigt wird, und um einzustellen, dass die Ausführung von Gleitkommaausnahmen nicht von der Umgebung unterbrochen wird. Dieser Modus wird als Nicht-Stopp-Modus bezeichnet. Dieser Modus wird fortgesetzt, bis die Umgebung verwendet fesetenv
oder feupdateenv
wiederhergestellt wird.
Sie können diese Funktion am Anfang einer Unterroutine verwenden, die eine oder mehrere Gleitkommaausnahmen vor dem Aufrufer verbergen muss. Um eine Ausnahme zu melden, können Sie die unerwünschten Ausnahmen mithilfe der Verwendung feclearexcept
löschen und dann den Nicht-Stopp-Modus mit einem Aufruf beenden feupdateenv
.
Um diese Funktion zu verwenden, müssen Sie vor dem Aufruf Gleitkommaoptimierungen deaktivieren, die den Zugriff mithilfe der #pragma fenv_access(on)
-Direktive verhindern könnten. Weitere Informationen finden Sie unter fenv_access
.
Anforderungen
Funktion | C-Header | C++-Header |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Weitere Informationen
Alphabetische Funktionsreferenz
feclearexcept
fesetenv
feupdateenv