Share via


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 feupdateenvwiederhergestellt 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 feclearexceptlö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.

Siehe auch

Alphabetische Funktionsreferenz
feclearexcept
fesetenv
feupdateenv