मैंने उत्पादन कोड देखा है जो सही है लेकिन इतना जटिल है कि यह ऑप्टिमाइज़र को गलत आउटपुट बनाने में भ्रमित करता है। यह ऑप्टिमाइज़ेशन बंद करने का कारण हो सकता है।
हालांकि, मैं इसे और अधिक संभावना मानता हूं कि कोड बस खराब है, जिसमें अनिर्धारित व्यवहार है। ऑप्टिमाइज़र उसको उजागर करता है और गलत रनटाइम व्यवहार या क्रैश की ओर जाता है। अनुकूलन के बिना, कोड "काम" होता है। और अंतर्निहित समस्या को ढूंढने और निकालने के बजाय, किसी ने इसे ऑप्टिमाइज़ेशन को अक्षम करके इसे छोड़कर "निश्चित" किया है।
बेशक, यह नाजुक और कामकाज के बारे में है। नया हार्डवेयर, नया ओएस पैच, नया कंपाइलर पैच, इनमें से कोई भी इस तरह के "फिक्स" को तोड़ सकता है।
भले ही प्रज्ञा पहले कारण के लिए है, तो इसे भारी दस्तावेज किया जाना चाहिए।
प्रोग्रामर बम होने पर प्रोग्रामर को विश्वसनीय स्टैक ट्रेस पसंद आया। शायद वह एक कोड अनुकूलक बग के आसपास काम करने की कोशिश की। शायद वह नहीं जानता था कि वह क्या कर रहा था और कार्गो पंथ लागू किया था। –
परिणामस्वरूप बाइनरी को खराब करने का एक और कारण होगा। रिवर्स इंजीनियरिंग को कठिन बनाने के लिए (बेशक अगर स्रोत कोड खुला है तो यह व्यर्थ है)। – freakish