我想增加程序的堆栈大小,因为我有一个复杂的递归算法,迭代重写会很麻烦。
我正在使用GCC C ++ 4.6.2。 MinGw,在Vista上使用Qt .pro文件构建(我使用Qt作为GUI前端)。
本网站的建议是使用: -
gcc -Wl,--stack,4194304
并将其发送到g ++链接阶段: -
LIB += -Wl,--stack,4194304
但链接器错误: -
g ++:错误:无法识别的选项'--stack,4194304'
我尝试使用QMAKE_CXXFLAGS + =将选项发送到编译阶段,但g ++仍然是barfs。
唯一没有barf的选项是GCC文档中的-fno-stack-limit(.pdf 4.5.0,p.260),但我的堆栈仍然溢出。该段中提到的其他选项。 BARF。
答案 0 :(得分:2)
您需要将QMAKE_CXXFLAGS += -Wl,--stack,4194304
添加到.pro文件中。
答案 1 :(得分:0)
试试这个:
ulimit -s STACK_SIZE