Bir hatayı derleme zamanında bir hatayla görüntüleyen this question'a bir yanıt yazdıktan sonra, bunun yerine bir uyarı almanın mümkün olup olmadığını ve derlemeyi bitirip bitiremeyeceğini merak ettim (soruda belirtildiği gibi).Farklı derleyiciler arasında sürekli olarak tetiklenecek uyarılar var mı?
Tanılama genel olarak derleyiciye bağımlı olsa da, bazı kodlarda bir hatanın tetikleneceği (örneğin, var olmayan bir üyeye erişme veya tamamlanmamış türde bir nesneyi başlatmaya çalışmak gibi) oldukça açıktır.
Aynı şey uyarılar için de söylenemez, çünkü bunlar derleyiciler arasında büyük farklılıklar göstermektedir. GCC ile tetiklenen uyarıların da Clang ile tetikleneceğini varsaymak makul olsa da, Visual C++ için aynı şey söylenemez.
Soru:
Belirtilen üç derleyicide sürekli olarak hangi uyarılar tetiklenir? GCC & Clang üzerinde
VC üzerinde /W3
++ ve -Wall
varsayılabilir. Bu sadece o soru için yararlıdır, ancak lutfen kullanıcı tanımlı mesajlar için bir uyarı tetikleme için yararlı olabileceğini
Not.
Neden GCC/Clang'da '-Wall' kullanırken MSVC'de'/W3' kullanıyorsunuz? MSVC, ek uyarı seviyeleri olarak '/ W4' ve'/Wall'ı destekler. –
@Cody: Derleyicileri için "varsayılan" kurulum olarak düşünüyorum. Uyarının görüntülenmesi için uyarı seviyesini değiştirmek zorunda kalmak istemiyorum. '/ W3', Visual Studio'daki gerçek varsayılan değerdir ve' -Wall' da varsayılan olarak görülebilir. – Xeo