दिलचस्प पोस्ट
InflateException: बाइनरी एक्सएमएल फ़ाइल लाइन # 1: क्लाउड बढ़ाने में त्रुटि <अज्ञात> OutOfMemoryError के कारण कोर अनुरोध – कुकीज़ क्यों नहीं भेजे गए हैं? स्वचालित रूप से सिस्टम पुनरारंभ पर हमेशा (नोड) प्रारंभ करें क्यों सत्र वस्तु विनाश असफल रहा एमवीवीएम के साथ डब्ल्यूपीएफ में संवाद के लिए अच्छा या बुरा अभ्यास? अच्छी तरह से बनाए गए कोष्ठकों के सभी संयोजन ढूँढना आयात android.support.v7.app का समाधान नहीं किया जा सकता आप Linq परिणामों के लिए एक इंडेक्स फ़ील्ड कैसे जोड़ सकते हैं मैं यूनिट कैसे एक GUI परीक्षण कर सकता हूँ? आईओएस में बैटरी जीवन की गणना करना जावा यूयूआईडी में एक .NET गाइड कैसे पढ़ा जाए जब संग्रह का आदेश दिया जाता है तो क्या LINQ द्विआधारी खोज का उपयोग कर सकता है? मैं सी में ओओ-शैली बहुरूपता कैसे अनुकरण कर सकता हूं? JProgressBar अद्यतन नहीं करेगा मैं सी # में विधि कॉल कैसे रोकूं?

.NET प्रोग्राम के लिए स्टैक आकार कैसे बदला जाए?

मेरे पास एक प्रोग्राम है जो दो अरब बार और स्टैक अतिप्रवाह के लिए पुनरावर्ती कॉल करता है। मैं परिवर्तन करता हूं, और फिर उसे अभी भी 40K पुनरावर्ती कॉल की आवश्यकता है इसलिए मुझे शायद कई एमबी स्टैक मेमोरी की आवश्यकता है मैंने सुना है कि स्टैक आकार 1MB के लिए डिफ़ॉल्ट है। मैंने ऑनलाइन खोज करने की कोशिश की किसी ने कहा -> लिंकर ……… दृश्य स्टूडियो में, लेकिन मुझे यह नहीं मिल सकता है।

क्या कोई जानता है कि इसे कैसे बढ़ाएं? मैं सोच रहा हूं कि मैं इसे अपने सी # कार्यक्रम में कहीं सेट कर सकता हूं?

PS मैं 32-बिट winXP और 64bit win7 का उपयोग कर रहा हूँ।

Solutions Collecting From Web of ".NET प्रोग्राम के लिए स्टैक आकार कैसे बदला जाए?"

.NET 2.0 और Win XP के बाद से स्टैक आकार को सेट करने का सबसे आसान तरीका स्टैक आकार के साथ एक नया धागा पैदा करना है: –

using System.Threading; Thread T = new Thread(threadDelegate, stackSizeInBytes); T.Start(); 

संपूर्ण प्रोग्राम के स्टैक आकार को बदलने के लिए आपको editbin का उपयोग करना होगा: –

 EDITBIN.EXE /STACK:<stacksize> file.exe 

ऐसा करने के लिए कोई संकलक विकल्प नहीं है। आप इसे editbin / stack का उपयोग कर तथ्य के बाद संपादित कर सकते हैं, या अपने एल्गोरिदम के लिए एक अलग धागा बना सकते हैं, और थ्रेड कन्स्ट्रक्टर में बड़ा स्टैक आकार निर्दिष्ट कर सकते हैं।

कहा जा रहा है, आप अपने पुनरावर्ती समारोह को समतल करना चाह सकते हैं … यदि आप अब से अधिक ढेर हो चुके हैं, तो यह जानना मुश्किल है कि किसी भी स्टैक का आकार दीर्घ अवधि में उचित होगा। यह सिर्फ एक बैंड सहायता समाधान है

सबसे अधिक संभावना है कि आपको रिकर्सन के बजाय लूप का उपयोग करने का प्रयास करना चाहिए।

मुझे पता है कि वी.एस. में आप एक मनमाना स्टैक आकार (संपादित करें: सी ++ प्रोग्राम के लिए) सेट कर सकते हैं। हालांकि, मैं सुझाव देता हूं कि आप पूंछ कॉल का उपयोग करते हैं (यानी, MyFunc (आर्ग्स) लौटते हैं); जो स्वचालित रूप से स्टैक स्पेस को पुन: फिर, आप राज्य को पकड़ने के लिए कुछ हीप-आवंटित ऑब्जेक्ट का उपयोग करेंगे।