Détermination de la version standard C implémentée
La détermination de l'implémentation standard C de votre compilateur peut être cruciale pour garantir la compatibilité et utiliser les dernières fonctionnalités du langage . Plusieurs standards C ont été publiés, dont C 98 et C 03.
Une méthode pour identifier la version standard consiste à vérifier la macro __cplusplus.
__cplusplus Macro
Selon la FAQ C 0x de Bjarne Stroustrup, la macro __cplusplus sera définie sur une valeur supérieure à 199711L pour C 11 et supérieur. Cependant, certains compilateurs peuvent ne pas définir cette macro correctement.
GCC
gcc a l'habitude de définir __cplusplus sur 1, quelle que soit la version linguistique. Ce problème a été résolu dans gcc 4.7.0.
MSVC
MSVC définit également de manière incorrecte __cplusplus comme 199711L. Pour obtenir la valeur correcte, ajoutez /Zc:__cplusplus aux indicateurs du compilateur ou vérifiez la macro _MSVC_LANG spécifique à MSVC.
Valeurs __cplusplus attendues
Autres méthodes
Si __cplusplus est insuffisant ou indisponible , d'autres approches include :
Il est important de noter que tous les compilateurs n'implémentent pas pleinement toutes les fonctionnalités d'un standard C. Un examen attentif de la compatibilité du compilateur et de la prise en charge des fonctionnalités est nécessaire pour garantir une exécution fiable du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!