AS3 में आप संकलकफ़्लैश/फ्लेक्स सशर्त संकलन "और"
-define+=CONFIG::DEBUG,true
को एक निरंतर पारित और इसलिए तरह सशर्त संकलन के लिए उपयोग कर सकते हैं:
CONFIG::DEBUG {
trace("This only gets compiled when debug is true.");
}
मैं कुछ के लिए देख रहा हूँ #ifndef की तरह, इसलिए मैं डीबग के मान को अस्वीकार कर सकता हूं और इसे सशर्त रूप से रिलीज कोड जोड़ने के लिए उपयोग कर सकता हूं। एडोब में conditional compilation documentation में अब तक का एकमात्र समाधान मिला है और चूंकि मेरी डीबग और रिलीज कॉन्फ़िगरेशन पारस्परिक रूप से अनन्य हैं, इसलिए मुझे डेबग और रिलीज स्थिरांक दोनों के विचार पसंद नहीं हैं।
इसके अलावा, इस प्रारूप में काम करता है, लेकिन मैं इसे रनटाइम पर जांच चल रहा है जो नहीं है जो मैं चाहता संभालने हूँ:
if (CONFIG::DEBUG) {
//debug stuff
}
else {
//release stuff
}
मैं भी कुछ इस तरह कर रही है माना लेकिन यह अभी भी सुरुचिपूर्ण समाधान नहीं है मैं के लिए उम्मीद की गई थी:
-define+=CONFIG::DEBUG,true -define+=CONFIG::RELEASE,!CONFIG::DEBUG
अग्रिम :) धन्यवाद
उचित लगता है। दूसरी तरफ, फ्लैश/फ्लेक्स कंपाइलर _astoundingly stupid_ हो सकता है, जैसा कि आप कहते हैं, मैं इसका उपयोग करने से पहले जांच करूँगा यदि प्रदर्शन वास्तव में आपके लिए मायने रखता है। – aaaidan
-1। * If/else * निर्माण काम नहीं करता है .. इसे साबित करने के लिए सरल परीक्षण: [एम्बेड करें] ऐसे में एक भारी फ़ाइल अगर/अन्य ब्लॉक। अगर आउटपुट फाइलसाइज तदनुसार बदलता है तो यह काम करता है, अन्यथा यह नहीं करता है। ऐसे में अगर कोई/अन्य ब्लॉक सिंटैक्स त्रुटियों का उत्पादन करता है जब किसी फ़ंक्शन के बाहर उपयोग किया जाता है जो निष्कर्ष निकालता है कि कोड ब्लॉक छीन नहीं जाएगा! – bummzack
हां, मुझे लगता है कि यह तकनीक ऑप्टिमाइज़र के दुष्प्रभाव पर बहुत अधिक निर्भर करती है। सशर्त संकलन बहुत बेहतर है। अगर आपको #ifndef की तरह कुछ चाहिए, तो नीचे मेरा जवाब देखें। –