gpt4 book ai didi

gcc - 如何知道.exe程序的堆栈大小限制?

转载 作者:行者123 更新时间:2023-12-05 02:12:29 30 4
gpt4 key购买 nike

我的程序(使用 mingw g++ 构建)似乎由于堆栈内存不足而崩溃。我使用编译选项 -Wl,--stack,64000000 来增加堆栈限制,但问题仍然存在。我想知道是否有实用程序或方法来检查我的 .exe 程序的当前堆栈限制,以便我可以验证该限制确实已更改为该值。

最佳答案

从这里answer , 要检查堆栈大小,您需要安装 Visual Studio 并使用 visual studio 工具 dumpbin。通常有一个脚本可以运行,以在路径中打开命令提示符窗口,其中包含路径中的所有 visual studio 工具,这是 vcvarsall.bat 或开始菜单中的“x64 Native Tools Command Prompt for VS 2019”(或类似的东西) .

运行

dumpbin /headers executable.exe

这将返回一个长输出。在该输出中,查找 OPTIONAL HEADER VALUES 并且在该部分中,将有一个 size of stack reserve 。默认堆栈大小写为 100000(字节),即 1 兆字节。

您可以使用同样由 Visual Studio 提供的 editbin 更改可执行文件的堆栈大小:

editbin /stack:N executable.exe

这里 N 是堆栈大小的字节数。

关于gcc - 如何知道.exe程序的堆栈大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901513/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com