निर्भर करता है, और यह आम तौर पर C30 ही नहीं सभी उपकरणों का सच है।
अनुकूलन अक्सर विभिन्न तरीकों से कोड को हटाते हैं और / या पुनर्गठन करते हैं। आपके स्विच स्टेटमेंट को if / अन्यथा निर्माण के साथ फिर से लागू किया जा सकता है या कुछ मामलों में सभी को एक साथ हटाया जा सकता है। y = x * 16 को बाएं पारियों की एक श्रृंखला आदि के साथ बदल दिया जा सकता है, हालांकि इस अंतिम प्रकार के अनुकूलन को आमतौर पर अभी भी इसके माध्यम से आगे बढ़ाया जा सकता है, इसके नियंत्रण के बयान का पुनर्गठन जो हां हो जाता है।
यह आपके C कोड के माध्यम से डिबगर को ले जाने के लिए असंभव बना सकता है क्योंकि आपके द्वारा C में परिभाषित संरचनाएँ अब मौजूद नहीं हैं, उन्हें कंपाइलर द्वारा प्रतिस्थापित या फिर से आदेशित किया गया है जिससे कंपाइलर का मानना है कि तेजी से होगा या कम स्थान का उपयोग करेगा। यह सी लिस्टिंग से ब्रेकपॉइंट को सेट करना असंभव बना सकता है क्योंकि आपके द्वारा दिए गए निर्देश का अब अस्तित्व नहीं रह सकता है। उदाहरण के लिए आप एक ifpoint के अंदर एक ब्रेकपॉइंट सेट करने का प्रयास कर सकते हैं, लेकिन कंपाइलर ने हटा दिया हो सकता है कि अगर। आप थोड़ी देर के लिए या लूप के लिए एक ब्रेकपॉइंट सेट करने का प्रयास कर सकते हैं, लेकिन संकलक ने उस लूप को अनियंत्रित करने का निर्णय लिया ताकि यह अब मौजूद न हो।
इस कारण से यदि आप अनुकूलन के साथ डिबग कर सकते हैं, तो यह आमतौर पर आसान होता है। आपको हमेशा अनुकूलन के साथ पुनः प्रयास करना चाहिए। यह एकमात्र तरीका है जिसके बारे में आपको पता चलेगा कि आप एक महत्वपूर्ण चूक कर रहे हैं volatile
और इसके कारण रुक-रुक कर असफलता (या कुछ और अजीब) हो रही है।
एम्बेडेड विकास के मामले में, आपको वैसे भी अनुकूलन के साथ सावधान रहना होगा। विशेष रूप से कोड के अनुभागों में जो महत्वपूर्ण हैं, उदाहरण के लिए कुछ व्यवधान। इन मामलों में आपको या तो असेंबली में महत्वपूर्ण बिट्स को कोड करना चाहिए या यह सुनिश्चित करने के लिए संकलक निर्देशों का उपयोग करना चाहिए कि ये अनुभाग अनुकूलित नहीं हैं, इसलिए आपको पता है कि उनके पास एक निश्चित निष्पादन समय है या एक निश्चित सबसे खराब मामला है।
अन्य गोचा यूसी में फिटिंग कोड हो सकता है, आपको अपने कोड को चिप में फिट करने के लिए कोड घनत्व अनुकूलन की आवश्यकता हो सकती है। यह एक कारण है कि इसका आमतौर पर एक परिवार में सबसे बड़ी ROM क्षमता यूसी के साथ शुरू करने के लिए एक अच्छा विचार है और आपके कोड के लॉक होने के बाद ही विनिर्माण के लिए एक छोटे से एक का चयन करें।