нужен большой стек. В 20 метров. Изначально в параметре линковщика задать никак. Потому как программа, куда вклинивается наш код, - чужая. Вопрос. Какие последствия могут быть, если просто подменить стек, т.е. esp = VirtualAlloc(....); а далее, не восстанавливая его, передать управление на старую точку входа программы? Обращений к стеку много. Поэтому если заменить на простые обращения по указателю, равному VirtualAlloc, код увеличивается сильно. Что в моем случае не допустимо.
Дык. Как динамически. Есть выделенная память под стек и зарезервированная. Вот метров в 20-50 даже зарезервированной не хватает Переполнение происходит.
Зарезервированная память под стек фикс. размера. Задается в ЕХЕ в optional header - поля StackReserve, StackCommit. nitrotoluol Кстати,а зачем нужен тебе большой стек?
мож если твой алгоритм рекурсивный в итерационный перебабахать. Точно не помню CreateThread резервирует дополнительно или нет стак, или из уже резервированной берёт. сейчас мсдн под рукой нет
IceStudent спасибо конечно но как это реализовать я сам знаю... интересовали подводные камни, которые от этого могут возникнуть в постороннем приложении.
nitrotoluol Либо подменить размер в заголовке. либо создать новую ветвь, и указать сколько ей стека надо.
asd ой еееееее......... убейте меня ап стену! я тупая афца блииин. да 100 пудоф. Код еще короче будет. Респект ) Тема закрыта