feholdexcept
Salva l'ambiente a virgola mobile corrente nell'oggetto specificato, cancella i flag di stato a virgola mobile e, se possibile, inserisce l'ambiente a virgola mobile in modalità senza interruzioni.
Sintassi
int feholdexcept(
fenv_t *penv
);
Parametri
penv
Puntatore a un oggetto fenv_t
per contenere una copia dell'ambiente a virgola mobile.
Valore restituito
Restituisce zero solo se la funzione è in grado di attivare correttamente la gestione delle eccezioni a virgola mobile senza interruzioni.
Osservazioni:
La funzione feholdexcept
viene usata per archiviare lo stato dell'ambiente a virgola mobile corrente nell'oggetto fenv_t
a cui punta penv
e per impostare l'ambiente per non interrompere l'esecuzione in corrispondenza di eccezioni a virgola mobile. Questa modalità è nota come modalità non di arresto. Questa modalità continua fino a quando l'ambiente non viene ripristinato usando fesetenv
o feupdateenv
.
È possibile usare questa funzione all'inizio di una subroutine che deve nascondere uno o più eccezioni a virgola mobile dal chiamante. Per segnalare un'eccezione, è possibile cancellare le eccezioni indesiderate usando feclearexcept
e quindi terminare la modalità non di arresto con una chiamata a feupdateenv
.
Per usare questa funzione, è necessario disattivare le ottimizzazioni a virgola mobile che potrebbero impedire l'accesso tramite la direttiva #pragma fenv_access(on)
prima della chiamata. Per ulteriori informazioni, vedere fenv_access
.
Requisiti
Funzione | Intestazione C | Intestazione C++ |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Vedi anche
Informazioni di riferimento sulle funzioni alfabetiche
feclearexcept
fesetenv
feupdateenv