Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2015, 11:46   #1
Nextus
Новичок
Джуниор
 
Регистрация: 22.04.2015
Сообщений: 3
По умолчанию Увеличить размер стека

Здравствуйте всем! Вопрос такой: написал прогу, где используется рекурсия, при большом количестве повторений происходит переполнение стека, как увеличить стек? Visual Studio 2010, С#. (просьба не давать умных советов типа нужно оптимизировать прогу и т.д., а ответить на поставленный вопрос и если можно подробнее, т.к. я в этом деле новичок). Заранее благодарю!
Nextus вне форума Ответить с цитированием
Старый 22.04.2015, 11:58   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Что за алгоритм? Вы уверены, что вам рекурсия необходима?

Размер стека задается при создании потока
http://stackoverflow.com/questions/2...-a-net-program
Код:
Thread t = new Thread(threadDelegate, stackSizeInBytes);
t.Start();
https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.04.2015, 12:13   #3
Nextus
Новичок
Джуниор
 
Регистрация: 22.04.2015
Сообщений: 3
По умолчанию

Мне буквально в 2 раза больше бы памяти, т.к. прога половину выполняет и стек переполняется. Если я ставлю условия выполнения до определенного количества раз все выполняется.
Расскажите, как применить
using System.Threading;

Thread T = new Thread(threadDelegate, stackSizeInBytes);
T.Start();
или это просто в прогу скопировать?
Nextus вне форума Ответить с цитированием
Старый 22.04.2015, 12:18   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это не копировать надо, а разобраться с многопоточностью (не самая простая тема, особенно если приложение не консольное) и создавать новый поток (указав ему размер стека), в котором и выполнять эти действия.

Либо просто переписать алгоритм без такой рекурсии.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.04.2015, 12:25   #5
Nextus
Новичок
Джуниор
 
Регистрация: 22.04.2015
Сообщений: 3
По умолчанию

Да... придется вникать... просто думал может это возможно изменить где в параметрах VS 2010...
Nextus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как увеличить размер стека? Prizrak86 C# (си шарп) 10 18.11.2011 17:08
Как увеличить размер БД? Sergey Bi. старший БД в Delphi 5 07.04.2011 21:50
Увеличить размер точки OptionButton Sergey112233 Microsoft Office Excel 4 30.12.2010 22:47
как увеличить максимальный размер структурных типов? bullvinkle Паскаль, Turbo Pascal, PascalABC.NET 0 19.12.2008 09:54