Selalu gunakan -O
atau 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 -Werror
kebijakan, karena peringatan yang tidak menghentikan kompilasi cenderung diabaikan.
-Wall
cukup banyak menyalakan peringatan yang sangat mungkin menjadi kesalahan.
Peringatan yang termasuk dalam -Wextra
cenderung 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-self
berguna; Saya bertanya-tanya mengapa itu tidak termasuk dalam -Wuninitialized
.
-Wpointer-arith
berguna jika Anda memiliki kebanyakan kode portabel yang tidak berfungsi -pedantic
.
-save-temps
,-Wshadow
dan-fmudflap
merupakan penemuan terhebat yang tidak saya ketahui, terima kasih untuk semuanya.