Aracılığıyla paylaş


system_header pragma

Tanılama raporları için dosyanın geri kalanını dış olarak değerlendirin.

Sözdizimi

#pragma system_header

Açıklamalar

derleyiciye system_headerpragma , geçerli kaynak dosyanın geri kalanı için seçeneği tarafından /external:Wn belirtilen düzeyde tanılama göstermesini söyler. Derleyiciye dış dosyaları ve dış uyarı düzeyini belirtme hakkında daha fazla bilgi için bkz /external. .

system_headerpragma geçerli kaynak dosyanın sonundan sonra geçerli değildir. Başka bir deyişle, bu dosyayı içeren dosyalar için geçerli değildir. , system_headerpragma derleyicinin dışında başka hiçbir dosya belirtilmemiş olsa bile geçerlidir. Ancak, seçenek /external:Wn düzeyi belirtilmezse, derleyici bir tanılama verebilir ve dış olmayan dosyalara uyguladığı uyarı düzeyini kullanır. Uyarı davranışını etkileyen diğer pragma yönergeler bir system_headerpragmasonrasında da geçerli olmaya devam eder. etkisi #pragma system_header şuna benzer 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, Visual Studio 2019 sürüm 16.10'dan itibaren kullanılabilir.

Örnek

Bu örnek üst bilgi, bir dosyanın içeriğinin dış olarak nasıl işaret yapılacağını gösterir:

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

Ayrıca bkz.

/external
warning pragma
/Wn (Derleyici uyarı düzeyi)
Pragma yönergeleri ve __pragma ve _Pragma anahtar sözcükleri