Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
int feholdexcept(
fenv_t *penv
);
penv
Puntatore a un oggetto fenv_t
per contenere una copia dell'ambiente a virgola mobile.
Restituisce zero solo se la funzione è in grado di attivare correttamente la gestione delle eccezioni a virgola mobile senza interruzioni.
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
.
Funzione | Intestazione C | Intestazione C++ |
---|---|---|
feholdexcept |
<fenv.h> | <cfenv> |
Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).
Informazioni di riferimento sulle funzioni alfabetiche
feclearexcept
fesetenv
feupdateenv