Udostępnij za pośrednictwem


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 penvelement 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