/Za, /Ze (Désactiver les extensions de langage)

L’option du compilateur /Za désactive et émet des erreurs pour les extensions Microsoft vers C qui ne sont pas compatibles avec ANSI C89/ISO C90. L’option de compilateur /Ze déconseillée active les extensions Microsoft. Les extensions Microsoft sont activées par défaut.

Syntaxe

/Za
/Ze

Notes

Remarque

L’utilisation de /Za lorsque le code est compilé en C++ n’est pas recommandé. L’option /Ze est déconseillée, car son comportement est activé par défaut. Pour obtenir la liste des options du compilateur déconseillées, consultez Les options de compilateur déconseillées et supprimées.

Le compilateur Microsoft C/C++ prend en charge la compilation du code C de deux façons :

  • Le compilateur utilise le mode de compilation C par défaut lorsqu’un fichier source a une extension .c ou lorsque l’option /Tc ou /TC est spécifiée. Le compilateur C est un compilateur C89/C90 qui, par défaut, active les extensions Microsoft dans le langage C. Pour plus d’informations sur des extensions spécifiques, consultez Extensions Microsoft vers C et C++. Lorsque la compilation C et l’option /Za sont spécifiées, le compilateur C est conforme strictement à la norme C89/C90. Le compilateur traite les mot clé étendues Microsoft comme des identificateurs simples, désactive les autres extensions Microsoft et définit automatiquement la macro __STDC__ prédéfinie pour les programmes C.

  • Le compilateur peut compiler du code C en mode de compilation C++. Ce comportement est la valeur par défaut pour les fichiers sources qui n’ont pas d’extension .c et lorsque l’option /Tp ou /TP est spécifiée. En mode de compilation C++, le compilateur prend en charge les parties des normes ISO C99 et C11 qui ont été incorporées dans la norme C++. Presque tout le code C est également du code C++ valide. Un petit nombre de constructions de code et de mot clé C ne sont pas du code C++ valide, ou sont interprétés différemment en C++. Le compilateur se comporte en fonction de la norme C++ dans ces cas. En mode de compilation C++, l’option /Za peut entraîner un comportement inattendu et n’est pas recommandée.

D’autres options du compilateur peuvent affecter la façon dont le compilateur garantit la conformité des normes. Pour savoir comment spécifier des paramètres de comportement C et C++ standard spécifiques, consultez l’option du compilateur /Zc . Pour obtenir d’autres paramètres de conformité standard C++, consultez les options /permissive- et /std du compilateur.

Pour plus d’informations sur les problèmes de conformité avec Visual C++, consultez Comportement non standard.

Pour définir cette option du compilateur dans l'environnement de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés C/C++>Language des propriétés>de configuration.

  3. Modifiez la propriété Disable Language Extensions .

Pour définir cette option du compilateur par programmation

Consultez DisableLanguageExtensions.

Voir aussi

Options du compilateur
/Zc (Conformité)
/permissive - (Conformité aux normes)
/std (Spécifier la version de langue standard)