Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Behandeln Sie den Rest der Datei als extern für Diagnoseberichte.
Syntax
#pragma system_header
Hinweise
Der system_headerpragma Compiler weist den Compiler an, diagnosen auf der Ebene anzuzeigen, die durch die /external:Wn Option für den Rest der aktuellen Quelldatei angegeben ist. Weitere Informationen zum Angeben externer Dateien und der externen Warnstufe für den Compiler finden Sie unter /external.
Dies system_headerpragma gilt nicht über das Ende der aktuellen Quelldatei. Anders ausgedrückt: Sie gilt nicht für Dateien, die diese Datei enthalten. Dies system_headerpragma gilt auch, wenn keine anderen Dateien als extern für den Compiler angegeben werden. Wenn jedoch keine /external:Wn Optionsstufe angegeben ist, stellt der Compiler möglicherweise eine Diagnose aus und verwendet dieselbe Warnstufe , die sie auf nicht externe Dateien anwendet. Andere pragma Direktiven, die sich auf das Warnungsverhalten auswirken, gelten nach einem system_headerpragma. Die Wirkung von #pragma system_header ist ähnlich wie die 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 )
Das system_headerpragma ist ab Visual Studio 2019, Version 16.10, verfügbar.
Beispiel
In diesem Beispielheader wird gezeigt, wie der Inhalt einer Datei als extern markiert wird:
// 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
Siehe auch
/external
warning pragma
/Wn (Compilerwarnstufe)
Pragma-Direktiven und die schlüsselwörter __pragma und _Pragma