मैं लिनक्स प्लेटफ़ॉर्म पर 64-बिट पर एप्लिकेशन को पोर्ट करने पर काम कर रहा हूं। एप्लिकेशन वर्तमान में लिनक्स, विंडोज, मैक 32-बिट और विंडोज 64-बिट पर समर्थित है। जिन मुद्दों का हम अक्सर सामना कर रहे हैं उनमें से एक int और इसके विपरीत के लिए लंबे समय तक उपयोग है। अब तक यह कोई समस्या नहीं थी क्योंकि लंबे समय से और int प्लेटफॉर्म में इंटरचेंज करने योग्य (दोनों 4 बाइट्स) हैं, एप्लिकेशन वर्तमान में समर्थित है। कोडबेस एक विशाल व्यक्ति है, जिसमें कई डेटा प्रकारों के लिए #defines के साथ विरासत कोड बहुत सारे हैं, यह लंबे समय तक सभी उपयोगों को खोजने और int के साथ उचित रूप से प्रतिस्थापित करने के लिए बोझिल बनाता है।64-बिट लिनक्स मशीन पर जीसीसी में 'लंबे' 4 बाइट बनाना
- एक अल्पकालिक समाधान के रूप में, क्या जीसीसी को 'लंबे' के लिए 8 के बजाय 4 बाइट्स बनाने का कोई तरीका है?
- यदि यह है, तो हमें क्या समस्याएं आ सकती हैं? यदि नहीं, तो लंबी और int समस्या को ठीक करने का कोई आसान तरीका है?
यह आपकी तत्काल समस्या (इसलिए टिप्पणी) का समाधान नहीं है, लेकिन भविष्य के कोड के लिए मैं इसके बजाय सटीक चौड़ाई प्रकार का उपयोग करूंगा (उदा।, 'Uint32_t')। –