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.