#include <fenv.h> // <cfenv> en C++
#define __STDC_VERSION_FENV_H__ 202311L
Depuis C23, l'entête <fenv.h> peut définir la macro __STDC_VERSION_FENV_H__. Sa valeur
permet de savoir que l'entête correspond à la révision C23, c'est-à-dire 202311L.
Cette macro est utile pour conditionner l'utilisation des nouveautés C23 de <fenv.h>, comme
femode_t, fesetexcept, fetestexceptflag, fegetmode ou
fesetmode.
Le programme suivant teste la présence de la macro avant d'afficher sa valeur.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <fenv.h> #include <stdio.h> int main() { #ifdef __STDC_VERSION_FENV_H__ printf( "Version de fenv.h : %ld\n", __STDC_VERSION_FENV_H__ ); #else puts( "__STDC_VERSION_FENV_H__ non definie" ); #endif return 0; } |
Avec une implémentation C23 complète, l'affichage attendu est le suivant.
Version de fenv.h : 202311
Améliorations / Corrections
Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.
Emplacement :
Description des améliorations :