代码之家  ›  专栏  ›  技术社区  ›  Jeff Leonard

如何增加gcc可执行文件堆栈的大小?

  •  10
  • Jeff Leonard  · 技术社区  · 17 年前

    我有一个大型Boost/Spirit元程序,当我试图编译它时,它正在破坏gcc的堆栈。

    如何增加gcc的堆栈大小,以便编译此程序?

    注意:没有无限递归,但有足够的偶然递归来耗尽gcc的堆栈。

    3 回复  |  直到 17 年前
        1
  •  12
  •   Crashworks    17 年前

    您可以使用检查当前堆栈大小

    $ ulimit -s
    8192
    

    youruser    soft    stack    16384
    

    然后重新记录。

    这将增加正在运行的所有可执行文件的堆栈大小,而不仅仅是GCC。

        2
  •  1
  •   Tanguy    11 年前

    我在我的编译器脚本中使用它:

    CFLAGS+=-Wl,--stack,10485760

        3
  •  0
  •   sybreon    17 年前

    可以在链接期间配置堆栈大小。您应该查看有关链接器脚本的详细信息。这只会改变单个程序的堆栈大小。

    推荐文章