Freigeben über


feupdateenv

Speichert die aktuell ausgelösten Gleitkommaausnahmen, stellt den Zustand der angegebenen Gleitkommaumgebung wieder her und löst dann die gespeicherten Gleitkommaausnahmen aus.

Syntax

int feupdateenv(
   const fenv_t* penv
);

Parameter

penv
Zeiger auf ein fenv_t Objekt, das eine Gleitkommaumgebung enthält, wie durch einen Aufruf fegetenv oder feholdexcept. Sie können auch die Standardumgebung für startende Gleitkommapunkte mithilfe des FE_DFL_ENV Makros angeben.

Rückgabewert

Gibt 0 zurück, wenn alle Aktionen erfolgreich abgeschlossen wurden. Andernfalls gibt es einen Wert ungleich 0 (null) zurück.

Hinweise

Die Funktion feupdateenv führt mehrere Aktionen aus. Zunächst speichert sie die aktuellen, ausgelösten Statusflags der Gleitkommaausnahmen in einem automatischen Speicher. Anschließend legt sie die aktuelle Gleitkommaumgebung aus dem im fenv_t Objekt gespeicherten Wert fest, auf das penv verweist. Wenn penv es nicht FE_DFL_ENV oder nicht auf ein gültiges fenv_t Objekt verweist, wird das nachfolgende Verhalten nicht definiert. Außerdem löst feupdateenv die lokal gespeicherten Gleitkommaausnahmen aus.

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
feupdateenv <fenv.h> <cfenv>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Weitere Informationen

fegetenv
feclearexcept
feholdexcept
fesetexceptflag