Condividi tramite


system_header pragma

Considerare il resto del file come esterno per i report di diagnostica.

Sintassi

#pragma system_header

Osservazioni:

system_headerpragma Indica al compilatore di visualizzare la diagnostica a livello specificato dall'opzione /external:Wn per il resto del file di origine corrente. Per altre informazioni su come specificare file esterni e il livello di avviso esterno per il compilatore, vedere /external.

system_headerpragma Non si applica oltre la fine del file di origine corrente. In altre parole, non si applica ai file che includono questo file. Si system_headerpragma applica anche se nessun altro file viene specificato come esterno al compilatore. Tuttavia, se non viene specificato alcun /external:Wn livello di opzione, il compilatore può emettere una diagnostica e usa lo stesso livello di avviso applicato ai file non esterni. Altre pragma direttive che influiscono sul comportamento di avviso si applicano ancora dopo un oggetto system_headerpragma. L'effetto di #pragma system_header è simile a 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 )

È system_headerpragma disponibile a partire da Visual Studio 2019 versione 16.10.

Esempio

Questa intestazione di esempio mostra come contrassegnare il contenuto di un file come esterno:

// 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

Vedi anche

/external
warning pragma
/Wn (Livello di avviso del compilatore)
Direttive Pragma e parole __pragma chiave e _Pragma