Увеличение размера стека в Windows (GCC)
-
03-07-2019 - |
Вопрос
Есть ли способ увеличить размер стека приложения Windows во время компиляции/связывания с помощью GCC?
Решение
Вы можете запустить Editbin после связывания.
Другие советы
IIRC, в GCC вы можете указать параметр --stack,[bytes] для ld.
Например.
gcc -Wl,--stack,16777216 -o file.exe file.c
Я думаю, что для стека размером 16 МБ размер по умолчанию составляет 8 МБ.
В Windows существует два размера стека.Первоначально зафиксированный размер и общий зарезервированный размер.Вы можете установить оба параметра с помощью инструкции STACKSIZE в файле .def.
При создании потоков вы используете параметр dwStackSize, но я не уверен, как изменить размер основного потока, это указано в заголовке exe, поэтому это может быть опция для компилятора/компоновщика, иначе вам нужно найти соответствующую часть шапки и измените ее самостоятельно.
http://msdn.microsoft.com/en-us/library/ms686774(VS.85).aspx