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