2013-11-04 7 views
5

जीसीसी के #pragma GCC optimize("O0") या वी.एस. के #pragma optimize("", off) में एप्पल LLVM 5.0 संकलक के बराबर क्या है?एप्पल LLVM 5.0 pragma अनुकूलन

मैं कोड की सिर्फ एक अनुभाग के लिए अनुकूलन निष्क्रिय करने के लिए इसकी आवश्यकता है।

उत्तर

4

एक संक्षिप्त खोज यह बजना की तरह नहीं दिखता से/LLVM इस समय इस तरह के एक pragma का समर्थन करता है। आप एक पूरे फ़ाइल के लिए अनुकूलन बंद करने के लिए नहीं करना चाहते हैं मैं बाँटे का सुझाव देते हैं तो आपको एक अलग फाइल में अनुकूलित नहीं चाहते क्या और अलग से उस पर -O0 की स्थापना।

0

दरअसल उस कार्य को __attribute__ ((optnone)) निर्दिष्ट करके ऐसा करने का एक तरीका है जो उस कोड को लपेटता है जिसे आप अनुकूलित नहीं करना चाहते हैं।

उदाहरण के लिए मैं इसे उपयोग कर रहा हूँ एक इनलाइन समारोह

static void BM_notoptimizedfunction(benchmark::State& state) __attribute__ ((optnone)) { 
    // your code here won't be optimized by clang 
} 

का एक स्पष्ट बेंचमार्क के लिए और बस हो गया!