2009-07-02 11 views
7

क्या 64 बिट में एक बिट को 64 बिट ओएस के साथ एक मशीन का पूर्ण लाभ लेने के लिए 64 बिट में बनाया जाना चाहिए, या यह 32 के रूप में इसका लाभ उठाएगा बिट बिल्ड असल में, हमारे पास मेमोरी अपवाद के साथ कोई समस्या है और इसे 64 बिट बॉक्स पर कंसोल ऐप चलाने का सुझाव दिया गया था जो इस मुद्दे को हल कर सकता है। सवाल यह है कि क्या हम सिर्फ 64 बॉक्स को स्पिन कर सकते हैं और उस पर वर्तमान ऐप फेंक सकते हैं या मुझे 64 बिट तरीके से ऐप को पुनर्निर्माण करने की आवश्यकता है।.नेट कंसोल ऐप 32 बनाम 64 बिट

उत्तर

12

यदि आपका ऐप "कोई भी CPU" प्लेटफार्म बनाने के लिए कॉन्फ़िगर किया गया है, तो यह किसी भी पर उचित रूप से चलाएगा।

बस सुनिश्चित करें कि यह 32/64 बिट विशिष्ट सामग्री का उपयोग नहीं करता है, या आप समस्याओं में भाग लेंगे।

एमएसडीएन दस्तावेज़ here

कमियों पर कुछ चर्चा के लिए, यह किसी भी मंच (डिफ़ॉल्ट) के लिए बनाया गया है, यह 64 बिट ऑपरेटिंग सिस्टम पर 64 बिट में चलेंगे here

+7

यह नेट 4.5 के रूप में सख्ती से सच नहीं है, आपको परियोजना सेटिंग्स में 32-बिट को अनचेक करना भी है, देखें: http: // ब्लॉग .microsoft.co.il/साशा/2012/04/04/क्या-anycpu-सच-साधन के रूप में की निवल 45 और विजुअल स्टूडियो-11 / – gmn

5

देखते हैं।

कहा जा रहा है कि अभी भी संभावित समस्याएं देखने के लिए हैं। यदि आप मूल कोड (पी/इनवॉक, सी ++/सीएलआई, या COM के माध्यम से) के साथ इंटरफ़ेस करते हैं, तो आपको उस कोड को 64 बिट पर पोर्ट करने की आवश्यकता होगी। यदि आवेदन 100% प्रबंधित है, तो यह सिर्फ काम करता है।

1

"कोई भी CPU" आपका मित्र है।

एक अलग रूप में के रूप में:

हम एक विशेष रूप से बड़े Trie संरचना है कि 32 बिट Windows के 2GB स्मृति स्थान को पार कर दिया था। चूंकि ऑब्जेक्ट संदर्भों में शामिल अधिकांश संरचनाओं में, हमने पाया कि 64 बिट पर जाने पर ऐप की मेमोरी आवश्यकताएं लगभग दोगुना हो गई हैं, जिसके लिए लगभग 4 जीबी की आवश्यकता होती है। ऐसा इसलिए है क्योंकि संदर्भ को स्टोर करने की स्मृति 64 बिट्स के बजाय 64 बिट चौड़ी है।

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