问题
I have large Boost/Spirit metaprogram that is blowing gcc's stack when I try to compile it.
How can I increase gcc's stack size, so I can compile this program?
Note: There's no infinite recursion going on, but there is enough incidental recursion to exhaust gcc's stack.
回答1:
On Linux, you can expand the stack size in /etc/security/limits.conf.
You can check your current stack size by using
$ ulimit -s
8192
Then expand the stack to be double than that:
youruser soft stack 16384
And then relog.
This will increase stack size for all executable you're running, not just GCC's.
回答2:
I use that in my compiler script:
CFLAGS += -Wl,--stack,10485760
回答3:
The stack size can be configured during linking. You should look at details regarding the linker scripts. That will only change the stack size for your single programme.
来源:https://stackoverflow.com/questions/1156783/how-to-increase-the-gcc-executable-stack-size