c++ - Is it necessary to repeat compilation flags when linking a program? -
ऑप्टिमाइज़ेशन और -g
के लिए जी ++ झंडे जैसे -O
डीबगिंग सिग्नल बनाने के लिए लिंकिंग प्रक्रिया के दौरान कुछ भी प्रभावित होता है?
अधिक स्पष्ट रूप से, अगर मैं संकलन और लिंकिंग को अलग करता हूं (उदाहरण के लिए, एक मेक फाइल में), और मैं -O
और संकलन के दौरान -g
झंडे, क्या मुझे उन झंडे को भी जोड़ना चाहिए, जब लिंक करना चाहिए?
< P> परंपरागत रूप से, यह अनावश्यक रहा है कंपाइलर्स में हालिया सुधार, हालांकि, कम से कम ऑप्टिमाइजेशन लिंक-टाइम पर भी चलते हैं: एलटीओ (लिंक-टाइम ऑप्टिमाइज़ेशन) संकलित ऑब्जेक्ट फाइलों को इंटरमीडिएट कोड को नियंत्रित करने का कारण बनता है, न कि मशीन कोड, और उस इंटरमीडिएट कोड को मशीन कोड में संकलित किया जाएगा लिंक समय पर, जहां अनुकूलन लागू किया जा सकता है जो अमान्य होगा यदि प्रत्येक ऑब्जेक्ट फ़ाइल में मशीन कोड होता है संकलन का दूसरा चरण कमांड-लाइन विकल्पों जैसे
-O
से प्रभावित होता है, ताकि आपको लिंक-पंक्ति पर उन्हें लिंक करना चाहिए।
Comments
Post a Comment