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_header
pragma , 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_header
pragma 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_header
pragma 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_header
pragmasonrası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_header
pragma, 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