Selalu gunakan -Oatau di atas ( -O1, -O2, -Os, dll). Pada tingkat optimasi default, gcc pergi untuk kecepatan kompilasi dan tidak melakukan analisis yang cukup untuk memperingatkan tentang hal-hal seperti variabel unitial.
Pertimbangkan membuat -Werrorkebijakan, karena peringatan yang tidak menghentikan kompilasi cenderung diabaikan.
-Wall cukup banyak menyalakan peringatan yang sangat mungkin menjadi kesalahan.
Peringatan yang termasuk dalam -Wextracenderung menandai kode yang umum dan sah. Mereka mungkin berguna untuk ulasan kode (meskipun program bergaya tidak menemukan banyak jebakan lebih fleksibel), tapi saya tidak akan menyalakannya untuk pengembangan normal.
-Wfloat-equal adalah ide yang baik jika pengembang pada proyek tidak terbiasa dengan floating point, dan ide yang buruk jika ya.
-Winit-selfberguna; Saya bertanya-tanya mengapa itu tidak termasuk dalam -Wuninitialized.
-Wpointer-arithberguna jika Anda memiliki kebanyakan kode portabel yang tidak berfungsi -pedantic.
-save-temps,-Wshadowdan-fmudflapmerupakan penemuan terhebat yang tidak saya ketahui, terima kasih untuk semuanya.