Установка размера стека с помощью GCC 4.6.2 C ++ Qt, MinGW, Vista

Я хочу увеличить размер стека моей программы, потому что у меня есть сложный рекурсивный алгоритм, и было бы НАСТОЯЩЕЙ болью переписывать итеративно.

Я использую GCC C ++ 4.6.2. MinGw, сборка с файлом Qt .pro (я использую Qt для интерфейса GUI), в Vista.

Совет на этом сайте заключается в использовании: —

gcc -Wl,--stack,4194304

и отправить это на фазу связи g ++ с помощью: —

LIB += -Wl,--stack,4194304

но компоновщик ошибки с: —

g ++: ошибка: нераспознанная опция ‘—stack, 4194304’

Я попытался отправить параметры в фазу компиляции с помощью QMAKE_CXXFLAGS + =, но g ++ все еще barfs.

Единственная опция, которая не использует barf — это -fno-stack-limit из документации GCC (.pdf 4.5.0, p.260), но мой стек по-прежнему переполняется. Другие варианты, упомянутые в этом пункте. блевать.

4

Решение

Вам нужно добавить QMAKE_CXXFLAGS += -Wl,--stack,4194304 в ваш .pro файл.

2

Другие решения

Попробуй это:

ulimit -s STACK_SIZE
0

По вопросам рекламы [email protected]