2009-11-18 12 views
8

जब तेंदुए पर चल रहा है आप की तरह कुछ कर सकते हैं:__LP64__ -> हिम तेंदुए समतुल्य?

#if __LP64__ 
    #pragma message ("64 bit Leopard issue") 
#endif 

क्या है हिमपात तेंदुए और हिमपात तेंदुए 64

और (सबसे महत्वपूर्ण बात)

मैं इस अपने आप का जवाब और नहीं कहाँ पाया है | पूछना पड़ा था?

उत्तर

7

__LP64__ एक जीसीसी प्रीप्रोसेसर मैक्रो है जो ओएस एक्स संस्करण के बावजूद 64 बिट डेटा मॉडल बनाते समय nonzero है, जिसे आप बना रहे हैं। 64 बिट इंटेल प्रोसेसर के लिए निर्माण करते समय एक और मैक्रो जो गैरजेरो होगा __x86_64__। आप developer.apple.com पर इन और अन्य मैक्रोज़ के बारे में अधिक जानकारी प्राप्त कर सकते हैं।

आप अपने एक्सकोड प्रोजेक्ट के लिए एक परिनियोजन लक्ष्य निर्दिष्ट कर सकते हैं, जो न्यूनतम अनुमत ओएस संस्करण निर्दिष्ट करेगा जिस पर आपका एप्लिकेशन चल सकता है। आप इस कोड को अपने कोड में सशर्त रूप से सक्षम/अक्षम करने के लिए इस कोड का लाभ उठा सकते हैं; अधिक जानकारी के लिए this mailing list post देखें।

+0

इसके अलावा: [जीसीसी दस्तावेज़] (http://gcc.gnu.org/onlinedocs/gcc-3.4.6/cpp/Common-Predefined-Macros.html) – Chuck

+0

@fbrereto - तो क्या मुझे 'x86_64' का उपयोग करना चाहिए '64 बिट चीजों के लिए और फिर 32 बिट सामान के लिए डिफ़ॉल्ट है? क्या एलपी_64 या एक्स 86_64 विंडोज और एएमडी प्रोसेसर पर भी काम करता है (मेरा ऐप दोनों के लिए बनाया जाता है)। और यदि ऐसा है तो मुझे 'अगर X86_4' और अंदर ऐप्पल या WIN32 जैसे कुछ चाहिए .... क्या मैं सही ढंग से सोच रहा हूं? –

+0

@fibrereto - जो मुझे _WIN32 और _WIN64 और ऐप्पल __APPLE__ –

12

__LP64__ "तेंदुए 64" का संक्षेप नहीं है। यह "लम्बे और पॉइंटर्स 64 बिट्स" के लिए खड़ा है। यह तेंदुए पर समान परिस्थितियों में स्नोलोपर्ड पर सेट है।

__LP64__ विंडोज़ पर एक ही व्यवहार नहीं होगा, क्योंकि विंडोज 64-बिट मॉडल का उपयोग करता है, जिसमें लंबे समय तक 64 बिट चौड़े नहीं होते हैं। इसके बजाए, 64-बिट विंडो में, 32 बिट चौड़े और लंबे समय तक लंबा और पॉइंटर्स 64 बिट चौड़े हैं। इसे आमतौर पर "llp64" मॉडल के रूप में जाना जाता है।

+0

@Stephen के लिए देखता है, तो मैं ओएस एक्स और लिनक्स के लिए __LP_64__ करता हूं और क्या विंडोज के लिए __ILP_64__ है? –

+0

मैं विंडोज़ बिल्ड पर्यावरण से परिचित नहीं हूं; उम्मीद है कि कोई और आपको बता सकता है कि प्रीप्रोसेसर प्रतीक का उपयोग कैसे किया जाए। हालांकि, अगर विंडोज के पास ऐसा मैक्रो था, तो यह '__LLP64__' होगा। –

+0

[विकिपीडिया पर 64 बिट मॉडल निमोनिक्स की उपयोगी तुलना] (http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models) – t0rst

संबंधित मुद्दे