Comment augmenter la taille de la pile exécutable gcc?
-
18-09-2019 - |
Question
J'ai grand métaprogramme Boost / Esprit qui souffle la pile de gcc lorsque je tente de le compiler.
Comment puis-je augmenter la taille de la pile de gcc, donc je peux compiler ce programme?
Note: Il n'y a pas récursion infinie en cours, mais il y a suffisamment récursion accessoire pour épuiser la pile de gcc
.La solution
Sur Linux, vous pouvez augmenter la taille de la pile dans /etc/security/limits.conf.
Vous pouvez vérifier votre taille de la pile actuelle en utilisant
$ ulimit -s
8192
Ensuite, développez la pile pour être le double de ce qui suit:
youruser soft stack 16384
Et puis relog.
Ceci augmentera la taille de la pile pour tous les exécutables que vous utilisez, et pas seulement GCC.
Autres conseils
Je l'utilise dans mon script compilateur:
CFLAGS + = -Wl, - pile, 10485760
La taille de la pile peut être configuré pendant la liaison. Vous devriez consulter les détails concernant les scripts de liaison. Cela ne fera que changer la taille de la pile pour votre seul programme.