हमेशा का उपयोग करें -Oऊपर या ( -O1, -O2,-Os , आदि)। डिफ़ॉल्ट ऑप्टिमाइज़ेशन स्तर पर, gcc संकलन की गति के लिए जाता है और यह इकाईगत चर जैसी चीजों के बारे में चेतावनी देने के लिए पर्याप्त विश्लेषण नहीं करता है।
बनाने पर विचार करें -Werrorनीति , क्योंकि चेतावनी जो संकलन को रोकती नहीं है उसे नजरअंदाज किया जाता है।
-Wall बहुत अधिक चेतावनियाँ हैं जो त्रुटियों की संभावना हैं।
चेतावनियों में शामिल -Wextra सामान्य, वैध कोड को ध्वजांकित करने की प्रवृत्ति हैं। वे कोड समीक्षाओं के लिए उपयोगी हो सकते हैं (हालांकि लिंट-शैली के कार्यक्रम बहुत अधिक लचीले होते हैं) अधिक सामान्य होते हैं, लेकिन मैं उन्हें सामान्य विकास के लिए चालू नहीं करूंगा।
-Wfloat-equal एक अच्छा विचार है अगर परियोजना पर डेवलपर्स फ्लोटिंग पॉइंट से अपरिचित हैं, और यदि वे हैं तो एक बुरा विचार।
-Winit-selfउपयोगी है; मुझे आश्चर्य है कि इसमें शामिल क्यों नहीं है-Wuninitialized ।
-Wpointer-arithयदि आपके पास ज्यादातर पोर्टेबल कोड है जो आपके साथ काम नहीं करता है तो उपयोगी है -pedantic।
-save-temps,-Wshadowऔर-fmudflapसबसे बड़े थे जो मुझे पता नहीं था, सभी के लिए धन्यवाद।