/Zc:__STDC__
(Activer la __STDC__
macro)
L’option /Zc:__STDC__
du compilateur définit la macro de __STDC__
préprocesseur intégrée comme 1 dans le code C.
Syntaxe
/Zc:__STDC__
Notes
L’option /Zc:__STDC__
du compilateur implémente le comportement conforme standard C pour la macro de préprocesseur, la définissant sur 1 lors de la __STDC__
compilation du code C11 et C17.
L’option /Zc:__STDC__
est nouvelle dans Visual Studio 2022 version 17.2. Cette option est désactivée par défaut, mais peut être activée explicitement quand /std:c11
ou /std:c17
est spécifiée. Il n’existe aucune version négative de l’option.
Cette option est une modification cassante source. En raison du comportement de l’UCRT, qui n’expose pas les fonctions POSIX quand __STDC__
est 1
, il n’est pas possible de définir cette macro pour C par défaut sans introduire de changements cassants dans les versions de langage stable.
Exemple
// test__STDC__.c
#include <io.h>
#include <fcntl.h>
#include <stdio.h>
int main() {
#if __STDC__
int f = _open("file.txt", _O_RDONLY);
_close(f);
#else
int f = open("file.txt", O_RDONLY);
close(f);
#endif
}
/* Command line behavior
C:\Temp>cl /EHsc /W4 /Zc:__STDC__ test__STDC__.c && test__STDC__
*/
Pour définir cette option de compilateur dans Visual Studio
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.
Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
Dans Options supplémentaires, ajoutez
/Zc:__STDC__
. Choisissez OK ou Appliquer pour enregistrer vos modifications.
Voir aussi
/Zc
(Conformité)
/std
(Spécifier la version du standard du langage)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour