Увеличение размера стека в Windows (GCC)

есть ли способ увеличить размер стека приложения Windows во время компиляции/ссылки с помощью GCC?

4 ответов


вы можете запустить editbin после связывания.


IIRC, в GCC вы можете предоставить параметр --stack,[bytes] в ld.

Э. Г.

gcc -Wl,--stack,16777216 -o file.exe file.c

чтобы иметь стек 16MiB, я думаю, что размер по умолчанию составляет 8MiB.


в Windows есть два размера стека. Первоначально введенный размер и общий зарезервированный размер. Вы можете установить оба с помощью оператора STACKSIZE в a .def файл.


при создании потоков вы используете dwStackSize paremater, но я не уверен, как изменить размер для основного потока, это указывает на его в заголовке exe, поэтому это может быть вариант для компилятора/компоновщика, иначе вам нужно найти соответствующую часть заголовка и изменить его самостоятельно.

http://msdn.microsoft.com/en-us/library/ms686774(VS.85).aspx