30 Temmuz 2010, Cuma
C için yararlı GCC bayrakları
-Wall
, ayarı ve gerçekten yararlı, ama daha az bilinen diğer derleyici bayrakları ne -std=XXX
, ayarı ötesi yok C kullanım için?
Herhangi bir Ek uyarılar özellikle ilgimi çekti, ve/veya bazı durumlarda hatalar uyarılar kesinlikle herhangi bir kaza sonucu yazın en aza indirmek için dönüm uyuşmazlığı.
CEVAP
31 Temmuz 2010, CUMARTESÄ°
Benimkiler şöyle:
-Wextra
,-Wall
: önemli.- Genellikle eşitlik için kayan nokta sayılar test kötü olduğu için yararlı.
-Wfloat-equal
: -Wundef
: Eğer başlatılmamış bir tanımlayıcı#if
bir Direktif olarak deÄŸerlendirilir uyar.-Wshadow
: gölgeler bir yerleşik işlevi, her bir yerel değişken, parametre ya da global değişken veya gölgeli olduğunda uyar.-Wpointer-arith
: EÄŸer bir ÅŸeyvoid
bir işlevin veya boyutuna bağlıdır uyar.-Wcast-align
: bir işaretçi hedef gerekli uyumu artar böyle atıldı. ne zaman uyar Örneğin, eğerchar *
int *
tamsayılar sadece iki veya dört bayt ulaşılabilir makinelerde sınırları bir atama varsa uyar.-Wstrict-prototypes
: eğer bir fonksiyon veya değişken türlerini belirtmeden ilan tanımlanır uyar.-Wstrict-overflow=5
: derleyici optimize taşma imzalı varsayımına dayanarak oluşmaz durumlar hakkında sizi uyarır. (Değer 5 çok sıkı, kılavuz sayfasına bakınız olabilir.)-Wwrite-strings
: dize sabitleri 16**. tip ver ^em>uzunluÄŸuOlmayanconst char *
işaretçi bir adresi kopyalama bir uyarı alacak, böylece]
.-Waggregate-return
: eğer dönüş yapıları veya sendikalar tanımlanan veya çağrılan tüm işlevleri uyar.-Wcast-qual
: bir gösterici hedef türünden bir tür niteleyici kaldırmak için döküm zaman uyar*.-Wswitch-default
:switch
bir açıklamadefault
bir ÅŸey yok ne zaman uyar*.-Wswitch-enum
:switch
ifadesi sayılan türde bir dizin var ve bu numaralandırma adlı kodlarından birini veya daha fazlasınıcase
bir yoksun zaman uyar*.-Wconversion
: bir değeri değiştirebilir örtülü dönüşüm için uyarmak*.-Wunreachable-code
: eğer derleyici bu kodu asla yürütülür algılarsa uyar*.
O işaretli*bazen çok fazla sahte uyarılar vermek, onlara gerektiğinde olarak kullanıyorum.
Bunu PaylaÅŸ:
Nasıl PHP yararlı hata iletileri almak...
C Bayrakları Karşılaştırmak için nasıl...
Nasıl bash script bayrakları ile değiş...
Nasıl bir bayrak birleşimi bayrakları ...
Ön işlemci makroları yokluğunda, bir ş...