-pedantic
Bayrağı kullanmak oldukça önemlidir .
Ben sadece, mevcut standart ile benzer bir şey kullanmanız tavsiye edilir eklemek istiyorum:
-std=c++17 -Wall -Wextra -Werror -Wpedantic -pedantic-errors
Nerede:
-std=c++17
2017'de yayınlanan C ++ standardının revizyonuna uymasını söyler, burada daha fazla bilgi edinebilirsiniz .
-Wall
söyler:
Bazı kullanıcıların şüpheli olduğunu düşündüğü ve makrolarla birlikte bile kaçınılması (veya uyarıyı önlemek için değiştirilmesi), diğer bir deyişle bazı uyarı kümeleriyle ilgili tüm uyarıları etkinleştirin.
-Wextra
yine de hepsini değil, bazı uyarıları etkinleştirmesini söyler.
-Werror
hatalara karşı tüm uyarıları yapmasını söyler.
-Wpedantic
ya da sadece şunu -pedantic
söyler:
Sıkı ISO C ve ISO C ++ tarafından talep edilen tüm uyarıları verin; yasak uzantıları kullanan tüm programları ve ISO C ve ISO C ++ takip etmeyen diğer programları reddedin.
-pedantic-errors
temel standart (bkz. -Wpedantic) bir tanılama gerektirdiğinde hata vermesini söyler.
Bu set genellikle yeni başlayanlar için yararlı değildir, çünkü her bir uyarının kademeli olarak hataya neden olma potansiyeline sahip olduğunu öğrenecek, aynı zamanda normal kullanım için de yararlı olacaktır.
Tüm uyarı seçenekleri burada GNU / GCC sayfasında ayrıntılı olarak açıklanmaktadır .