2012-08-28 6 views
5

मुझे कल्पना है कि यह एक प्रश्न है जिसे हजारों बार पूछा गया है लेकिन मुझे सीधा जवाब नहीं मिल रहा है।ओएसएक्स, सी यूआईटी 32 और यूंट 64 के बराबर क्या है?

मैं एक्सकोड का उपयोग कर ओएसएक्स को एक बहुत छोटा, सी फ़ंक्शन (प्रारंभ में विंडोज के लिए लिखा गया) पोर्ट करने की कोशिश कर रहा हूं।

मैंने एक एक्सकोड, टर्मिनल एप्लिकेशन प्रोजेक्ट बनाया है और मैंने इस परियोजना में कोड कॉपी और चिपकाया है। एक्सकोड मुझे त्रुटियों का एक गुच्छा दे रहा है जो मुझे बता रहा है कि टाइप uint32 और uint64 अज्ञात प्रकार हैं।

ओएसएक्स में समतुल्य मूल्य प्रकार क्या हैं?

उत्तर

14

stdint.h आयात करके आप uint32_t और uint64_t का उपयोग कर सकते हैं।

0

इन ;-) UInt32 lala; UInt64 lolo;

Misread सवाल का प्रयास करें। यदि आप टर्मिनल केवल प्रोजेक्ट बनाते हैं तो आप कोको/फाउंडेशन और कार्बन को लिंक नहीं करेंगे। उत्तरार्द्ध UInt16/32/64 के भीतर typedef'ed हैं।

+1

मुझे लगता है कि वे कार्बन प्रकार हैं। – zneak

2

uint32_t और uint64_t - दोनों C99 परिभाषा के अनुसार stdint.h में परिभाषित दोनों।

अन्य माइक्रोसॉफ्ट के मालिकाना समाधान हैं।

3

आप जो चाहते हैं वो POSIX और C मानक पूर्णांक प्रकार हैं। ये मैक ओएसएक्स, लिनक्स, सोलारिस इत्यादि पर उपयोग किए जाते हैं। वे uint64_t के माध्यम से सभी तरह से हैं। int8_tuint8_t के माध्यम से भी हैं।

+0

"सभी तरह से" द्वारा स्पष्टीकरण के रूप में, यह _really_ का अर्थ है: पूर्णांक प्रकार उपलब्ध हैं जिनके आकार दो ('int24_t',' int40_t', 'int48_t',' int56_t' की शक्ति नहीं है) उनके हस्ताक्षरित समकक्ष)। – zneak

+2

@zneak, इन्हें परिभाषित नहीं किया जाना चाहिए। लेकिन अगर प्लेटफॉर्म पर ऐसे प्रकार (उस चौड़ाई के साथ) मौजूद हैं तो उन्हें परिभाषित किया जाएगा। –

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