feholdexcept
Zapisuje bieżące środowisko zmiennoprzecinkowe w określonym obiekcie, czyści flagi stanu zmiennoprzecinkowego, a jeśli to możliwe, umieszcza środowisko zmiennoprzecinkowe w trybie bez zatrzymywania.
Składnia
int feholdexcept(
fenv_t *penv
);
Parametry
penv
Wskaźnik do fenv_t
obiektu zawierającego kopię środowiska zmiennoprzecinkowego.
Wartość zwracana
Zwraca zero, jeśli i tylko wtedy, gdy funkcja jest w stanie pomyślnie włączyć obsługę wyjątków zmiennoprzecinkowych bez zatrzymywania.
Uwagi
Funkcja feholdexcept
służy do przechowywania stanu bieżącego środowiska zmiennoprzecinkowego w fenv_t
obiekcie wskazywanym przez penv
element i ustawiania środowiska tak, aby nie przerywało wykonywania wyjątków zmiennoprzecinkowych. Ten tryb jest znany jako tryb bez zatrzymywania. Ten tryb będzie kontynuowany do momentu przywrócenia środowiska przy użyciu polecenia fesetenv
lub feupdateenv
.
Tej funkcji można użyć na początku podprocji, która musi ukrywać jeden lub więcej wyjątków zmiennoprzecinkowych od obiektu wywołującego. Aby zgłosić wyjątek, możesz wyczyścić niepożądane wyjątki przy użyciu polecenia feclearexcept
, a następnie zakończyć tryb non-stop wywołaniem metody feupdateenv
.
Aby użyć tej funkcji, należy wyłączyć optymalizacje zmiennoprzecinkowe, które mogłyby uniemożliwić dostęp przy użyciu #pragma fenv_access(on)
dyrektywy przed wywołaniem. Aby uzyskać więcej informacji, zobacz fenv_access
.
Wymagania
Function | Nagłówek języka C | Nagłówek języka C++ |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Odwołanie do funkcji alfabetycznej
feclearexcept
fesetenv
feupdateenv