मैं कैसे जांच सकता हूं कि मेरा ऐप 32-बिट या 64-बिट में संकलित है या नहीं?जांचें कि ऐप 32 या 64-बिट में बनाया गया है या नहीं?
यह निम्न स्तर कोड (उदाहरण के लिए बफर के साथ काम करना) को डीबग करने में मददगार है।
मैं कैसे जांच सकता हूं कि मेरा ऐप 32-बिट या 64-बिट में संकलित है या नहीं?जांचें कि ऐप 32 या 64-बिट में बनाया गया है या नहीं?
यह निम्न स्तर कोड (उदाहरण के लिए बफर के साथ काम करना) को डीबग करने में मददगार है।
आप एक सूचक का आकार देख सकते हैं। मैं 32 बिट पर लगता है कि यह 4bytes है और 64 पर यह होना चाहिए 8.
if(sizeof(void*) == 4) then 32bit else 64bit
int 64 बिट में 4 बाइट बना रहता है। –
ओह दुखद है, कोई आकार (void) – rcpfuchs
'आकार (शून्य *) ' –
#ifdef __LP64__
NSLog(@"64-bit\t");
#else
NSLog(@"32-bit\t");
#endif
यह संकलन समय। प्रश्न रनटाइम के लिए है। –
एक संकलन समय जांच __LP64__
के लिए ing, जो एआरएम के डेटा प्रकार आकार मानक है #ifdef
शामिल होगा '। एक क्रम समाधान संकेत के आकार की जाँच, इसलिए की तरह शामिल होगा: 64-बिट कोड संकलन के लिए विभिन्न मानकों पर सहमत करने लगते हैं
if (sizeof(void*) == 4) {
// Executing in a 32-bit environment
} else if (sizeof(void*) == 8) {
// Executing in a 64-bit environment
}
शुक्र है, सूचक आकार एक बात कर रहे हैं।
बस एफवाईआई, '__LP64__' और 'sizeof()' समाधान दोनों संकलित-समय हैं। आकार का मूल्यांकन संकलन प्रक्रिया का हिस्सा है, न कि एक समारोह। संकलक मूल रूप से उस प्रकार के आकार के साथ आकार (प्रकार) को प्रतिस्थापित करता है जिस पर आप संकलित कर रहे हैं। आदर्श रूप में, #ifdef और if/else समान रूप से संकलित हो जाएंगे क्योंकि संकलक देखेंगे कि 8 हमेशा == 8 है और 8 == 4 शाखा को अनुकूलित करता है। – ultramiraculous
तकनीकी रूप से, आप सही हैं (लेकिन आपका तर्क ऑप्टिमाइज़िंग कंपाइलर की धारणा पर स्थापित किया गया है)। शायद [यह] (http://stackoverflow.com/a/7984249/945847) "रनटाइम चेक" की एक और कठोर परिभाषा फिट करेगा। – CodaFi
आपको क्यों जानने की आवश्यकता है? उचित लिखित कोड को किसी भी तरह से ठीक काम करना चाहिए। – dpassage
मैं @dpassage से सहमत हूं। यद्यपि आपको डिवाइस मॉडल की जांच करने की आवश्यकता है। https://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instp/UIDevice/model – Desdenova
@dpassage बहुत बेवकूफ टिप्पणी। सरल चीजों के लिए सच है, लेकिन निश्चित रूप से नहीं, जब आप विभिन्न कोड आर्किटेक्चर के लिए अपना कोड अनुकूलित करना चाहते हैं। –