Programmer et compiler avec la norme C11

Problème

Vous voulez vous assurer que vous programmez bien en respectant la norme C11 et que votre compilateur est en mesure de compiler votre code.

Solution

Référez-vous au manuel de votre compilateur. Il s’agit de déterminer le paramètre à modifier pour indiquer la norme que votre compilateur doit respecter.

Notez que gcc et clang (llvm) implémentent tous deux la norme C11, au moins partiellement. Pour gcc, le paramètre est l’option --std.

Discussion

Si l’objectif est de compiler votre programme et que votre compilateur remplit cette tâche, vous n’avez peut-être pas besoin de vous poser trop de questions. En effet, à quelques exceptions près, un code en C89 ou C99 devrait compiler avec un compilateur C11.

À l’inverse, si votre code contient des spécificités de la norme C11, vous saurez rapidement si votre compilateur est en mesure de le compiler ou non. Dans la négative, renseignez-vous pour savoir s’il n’existe pas un paramètre permettant d’activer la norme C11. Ainsi, pour le compilateur gcc, vous devrez peut-être indiquer l’option --std=c11.

Par ailleurs, vous pourrez vous amuser à déterminer quelle norme respecte votre compilateur. Le code suivant peut vous y aider : il s’agit d’afficher la constante __STDC_VERSION__ qui vaut 201112 si votre compilateur respecte la norme C11.


#include <stdio.h>  ...
Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Obtenir la norme C11
Suivant
Principaux ajouts et modifications apportés par la norme C11