system_header
pragma
Traitez le reste du fichier comme externe pour les rapports de diagnostic.
Syntaxe
#pragma system_header
Notes
Le system_header
pragma compilateur indique au compilateur d’afficher les diagnostics au niveau spécifié par l’option /external:Wn
pour le reste du fichier source actuel. Pour plus d’informations sur la façon de spécifier des fichiers externes et le niveau d’avertissement externe au compilateur, consultez /external
.
L’application system_header
pragma ne s’applique pas au-delà de la fin du fichier source actuel. En d’autres termes, il ne s’applique pas aux fichiers qui incluent ce fichier. S’applique system_header
pragma même si aucun autre fichier n’est spécifié comme externe au compilateur. Toutefois, si aucun niveau d’option n’est /external:Wn
spécifié, le compilateur peut émettre un diagnostic et utilise le même niveau d’avertissement qu’il s’applique aux fichiers non externes. D’autres pragma directives qui affectent le comportement d’avertissement s’appliquent toujours après un system_header
pragma. L’effet est #pragma system_header
similaire à :warning pragma
// If n represents the warning level specified by /external:Wn,
// #pragma system_header is roughly equivalent to:
#pragma warning( push, n )
// . . .
// At the end of the file:
#pragma warning( pop )
La system_header
pragma version 16.10 de Visual Studio 2019 est disponible.
Exemple
Cet exemple d’en-tête montre comment marquer le contenu d’un fichier comme externe :
// library.h
// Use /external:Wn to set the compiler diagnostics level for this file's contents
#pragma once
#ifndef _LIBRARY_H // include guard for 3rd party interop
#define _LIBRARY_H
#pragma system_header
// The compiler applies the /external:Wn diagnostic level from here to the end of this file.
// . . .
// You can still override the external diagnostic level for warnings locally:
#pragma warning( push )
#pragma warning( error : 4164 )
// . . .
#pragma warning(pop)
// . . .
#endif
Voir aussi
/external
warning pragma
/Wn
(Niveau d’avertissement du compilateur)
Pragma directives et mots __pragma
_Pragma
clés