Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Derleyici uyarı iletilerinin davranışının seçmeli olarak değiştirilmesini etkinleştirir.
Sözdizimi
#pragma warning(
warning-specifier
:
warning-number-list
,
justification
:
string-literal
[ ]
;
warning-specifier
:
warning-number-list
[ ... ])
#pragma warning( push
,
[ n ])
#pragma warning( pop )
Açıklamalar
Aşağıdaki uyarı belirtici parametreleri kullanılabilir.
Aşağıdaki kod deyimi, bir warning-number-list
parametresinin birden çok uyarı numarası içerebileceğini ve aynı warning-specifier
yönergesinde birden çok pragma parametresinin belirtilebileceğini gösterir.
#pragma warning( disable : 4507 4034; once : 4385; error : 164 )
Ancak, alan mevcut olduğunda justification
, yalnızca bir uyarı numarası belirtilebilir. Aşağıdaki kod deyimi, alanın kullanımını justification
gösterir.
#pragma warning( disable : 4507, justification : "This warning is disabled" )
Alanlar justification
, bir uyarının neden devre dışı bırakıldığını veya gizlendiğini açıklamanıza olanak tanır. Bu justification
alan yalnızca ve disable
suppress
için warning-specifier
desteklenir. Bu değer, seçenek belirtildiğinde SARIF çıktısında /analyze:log:includesuppressed
görünecektir. Değeri, UTF-8 kodlu bir dar dize değişmez değeridir.
Bu yönerge işlevsel olarak aşağıdaki koda eşdeğerdir:
// Disable warning messages 4507 and 4034.
#pragma warning(disable : 4507 4034)
// Issue warning C4385 only once.
#pragma warning(once : 4385)
// Report warning C4164 as an error.
#pragma warning(error : 164)
Derleyici, 0 ile 999 arasında herhangi bir uyarı numarasına 4000 ekler.
4700-4999 aralığındaki uyarı numaraları kod oluşturma ile ilişkilendirilir. Bu uyarılar için, derleyici işlev tanımına ulaştığında uyarının geçerli olan durumu işlevin geri kalanı için geçerli olmaya devam eder. 4699'dan büyük bir uyarı numarasının durumunu değiştirmek için işlevdeki warning
pragma kullanılması yalnızca işlevin sonundan sonra geçerli olur. Aşağıdaki örnekte, kod oluşturma uyarı iletisini devre dışı bırakmak ve ardından geri yüklemek için bir warning
pragma doğru yerleşimi gösterilmektedir.
// pragma_warning.cpp
// compile with: /W1
#pragma warning(disable:4700)
void Test()
{
int x;
int y = x; // no C4700 here
#pragma warning(default:4700) // C4700 enabled after compiling Test()
}
int main()
{
int x;
int y = x; // C4700
}
İşlev gövdesi boyunca, warning
pragma son ayarının işlevin tamamı için geçerli olduğuna dikkat edin.
Gönder ve aç
warning
pragma, isteğe bağlı n parametresinin bir uyarı düzeyini (1-4) temsil ettiği aşağıdaki söz dizimini de destekler.
#pragma warning( push [ , n ] )
#pragma warning( pop )
pragma
warning( push )
her uyarı için geçerli uyarı durumunu depolar.
pragma
warning( pop )
, yığına gönderilen son uyarı durumunu gösterir. uyarı durumunda push
ile pop
arasında yaptığınız tüm değişiklikler geri alınıyor. Şu örneği göz önünde bulundurun:
#pragma warning( push )
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop )
Bu kodun sonunda, pop
her uyarının durumunu (4705, 4706 ve 4707 dahil) kodun başındaki durumuna geri yükler.
Üst bilgi dosyaları yazarken, push
ve pop
kullanarak kullanıcının yaptığı uyarı durumu değişikliklerinin üst bilgilerin doğru derlenmesini engellememesini sağlayabilirsiniz. Üst bilginin başındaki push
ve sonunda pop
kullanın. Örneğin, uyarı düzeyi 4'te temiz bir şekilde derlenmeyecek bir üst bilginiz olabilir. Aşağıdaki kod uyarı düzeyini 3 olarak değiştirir ve ardından üst bilginin sonundaki özgün uyarı düzeyini geri yükler.
#pragma warning( push, 3 )
// Declarations/definitions
#pragma warning( pop )
Uyarıları gizlemenize yardımcı olan derleyici seçenekleri hakkında daha fazla bilgi için bkz. /FI
ve /w
.
Ayrıca bkz.
Pragma yönergeleri ve __pragma
ve _Pragma
anahtar sözcükleri