मुझे पहले से ही पता है कि जब आपको प्लेटफार्मों के बीच पोर्टेबिलिटी के लिए विशिष्ट चर आकार की आवश्यकता होती है, तो स्टडींट का उपयोग किया जाता है, मेरे पास वास्तव में इस तरह का मुद्दा नहीं है, लेकिन उपयोग करने के विपक्ष और पेशेवर क्या हैं यह उपर्युक्त तथ्य पहले से ही दिखाया गया है? - stdint के पोर्टेबिलिटी के बारे में यह एक वार्ताउपयोग करने के कारण (या नहीं) stdint
1:
यह के लिए खोज रहे stackoverflow और अन्य लोगों साइटों पर, मैं 2 लिंक है कि विषय के बारे में व्यवहार करता है पाया।
2 - यह uint8_t के बारे में अधिक विशिष्ट है।
शोध दो लिंक महान विशेष रूप से के बारे में इस शीर्ष लेख पोर्टेबिलिटी है कि के मुख्य कारण के बारे में अधिक पता करने के लिए कर रहे हैं, लेकिन मेरे लिए, क्या मैं इसके बारे में सबसे अधिक पसंद मुझे लगता है कि uint8_t अहस्ताक्षरित चार से क्लीनर है (भंडारण के लिए उदाहरण के लिए एक आरबीजी चैनल मान), int32_t केवल int, आदि से अधिक अर्थपूर्ण दिखता है।
तो, मेरा सवाल यह है कि वास्तव में विपक्ष क्या है, और विशेष रूप से पोर्टेबिलिटी के अलावा स्टिंट का उपयोग करने के पेशेवर, और मुझे इसका उपयोग करना चाहिए बस मेरे कोड के कुछ विनिर्देश भागों में, या हर जगह? यदि हर जगह, मैं उपयोगकर्ता के साथ atoi, strtok, आदि कैसे काम कर सकता हूं?
धन्यवाद!
वैलीक के रूप में स्पष्ट विपक्ष प्रदर्शन प्रभाव है। एक 12 बिट मशीन पर uint32_t पूर्णांक में गिनने के लिए मजबूर होना कठिन है – hroptatyr
'uint32_t' 12 बिट मशीन पर मौजूद नहीं हो सकता है। –
@hroptatyr यदि आप फिर से मेरा जवाब पढ़ते हैं, तो आप पाएंगे कि मैंने उस मुद्दे को संबोधित किया है। अगर इसे 'uint32_t' होना चाहिए, तो इसे इसके रूप में घोषित करें। यदि उसे उस उच्च रिज़ॉल्यूशन की आवश्यकता नहीं है, लेकिन केवल 16 बिट है, तो इसे 'uint_fast16_t' के रूप में घोषित करें, जिसे एक सीपीयू पर 32 बिट के रूप में संकलित किया जाएगा जहां 32 बिट संरेखण तेज है। – Lundin