यह एक पुराना सवाल है लेकिन मैं बस कुछ अतिरिक्त अंक जोड़ना चाहता था।
सबसे पहले, सामान्य कमांड लाइन के सेट की परवाह किए बिना आप जीसीसी की आपूर्ति स्विच, वर्तमान में यह सब बाधा के उल्लंघन की रिपोर्ट करने के लिए जीसीसी "त्रुटियों" और "चेतावनी के रूप में सब कुछ के रूप में बनाने के लिए संभव हो सकता है प्रकट नहीं होता है "। कुछ नैदानिक संदेश जीसीसी रिपोर्ट "चेतावनियों" के रूप में रिपोर्ट करते हैं वास्तव में सी भाषा के दृष्टिकोण से बाधा उल्लंघन (यानी "त्रुटियां") हैं, लेकिन जीसीसी को उस तथ्य को पहचानने और "त्रुटि" उत्पन्न करने का कोई तरीका नहीं है। नैदानिक। काफी संभव है कि व्यक्तिगत चेतावनी प्रकारों को ठीक-ठीक करके एक और सटीक पृथक्करण प्राप्त किया जा सके, लेकिन मुझे यकीन नहीं है कि जीसीसी सेटिंग्स एक अच्छा मैच प्राप्त करने के लिए पर्याप्त ग्रैन्युलरिटी प्रदान करती है।
दूसरे, जीसीसी -pedantic-errors
विकल्प है कि सादा -pedantic
के स्थान पर है, जो "त्रुटियों" और "चेतावनी" में नैदानिक संदेशों के एक और अधिक सटीक (ऊपर वर्णित है) वर्गीकरण सक्षम करना है में इस्तेमाल किया जा सकता प्रदान करता है। हालांकि यह अभी भी सही नहीं है।
पीएस भाषा विनिर्देश को डायग्नोस्टिक संदेशों को "त्रुटियों" और "चेतावनियों" में अलग करने की आवश्यकता/परिभाषित करने की आवश्यकता नहीं है, लेकिन व्यवहार में कई प्रोग्रामर बाधाओं के उल्लंघनों को "त्रुटियों" के रूप में रिपोर्ट करने की अपेक्षा करते हैं। मैंने सोचा था कि जब आप अपने प्रश्न में "चेतावनी/त्रुटियों को लागू करने" का उल्लेख करते हैं तो आप ऐसा कुछ मतलब कर सकते हैं।
एएनएसआई ने 1 9 8 9 में मूल सी मानक प्रकाशित किया। आईएसओ ने 1 99 0 में उसी मानक के अपने संस्करण को प्रकाशित किया, और एएनएसआई ने आधिकारिक तौर पर उस संस्करण को अपनाया। आईएसओ ने 1 999 और 2011 में मानक के नए संस्करण प्रकाशित किए, और एएनएसआई ने उनमें से प्रत्येक को अपनाया है, जो पहले के संस्करणों को आधिकारिक रूप से अप्रचलित बना रहा है। उलझन में, "एएनएसआई सी" शब्द अभी भी सामान्य रूप से (और गलत तरीके से) 1 9 8 9/1 9 0 9 संस्करणों द्वारा परिभाषित भाषा को संदर्भित करने के लिए प्रयोग किया जाता है, और 'gcc -ansi' अभी भी उस संस्करण को संदर्भित करता है। मेरा सुझाव है कि "एएनएसआई सी" शब्द संदिग्ध है और इससे बचा जाना चाहिए। इसके बजाय C89/C90, C99, या C11 का संदर्भ लें। –