相关疑难解决方法(0)

如何使用Visual Studio克服堆栈大小问题(使用大数组运行C代码)

我是第一次使用Visual Studio 13编译c代码.代码运行完全正常,大小为64*64的2d阵列(我的程序中有一些数组)但如果我将数组大小增加到128*128则不会运行(但编译正确).相反,它会给出一条消息".exe已停止工作".如果我从linux运行代码,我的机器有4GB内存和相同的程序运行128*128阵列.

让我提供一些更多细节:我在同一台机器上使用英特尔C编译器(非商业版)从linux运行相同的代码.但由于某些问题,我现在被限制在Windows环境中工作.我搜索并安装了两个c编译器(1)Visual Studio 13和(2)Borland C.两者都适用于小阵列.但是当我增加数组大小时,Visual Studio会给出消息".exe已停止工作".我使用"开发人员命令提示符VS 13"中的"cl"编译程序.

我觉得问题在于堆栈大小.

在链接详细说明中(如下所示)我在linux环境中看到了一个命令"ulimit"来增加堆栈大小.我记得几年前使用它.

我觉得我们接近解决方案,但我的Windows(和VS 2013)的问题仍然存在,因为我没能执行dumpbin /headers executable_fileeditbin /STACK:size.其实我觉得我不知道如何执行它们.我试图从"开发人员命令提示符VS 13",以及使用运行执行它们(windows启动自下而上>搜索(运行) - >运行(托)).如果可能,我请您提供更多详细信息.

我搜索并找到了这个网站,并在这里思考可以找到解决方案.

请帮忙.我想从Windows运行Visual Studio 13.

c windows stack-overflow visual-studio

8
推荐指数
1
解决办法
2万
查看次数

什么是 c/c++ 数据段和堆栈大小?

我读到它取决于编译器和操作系统架构。如何在使用 GCC 作为编译器的 Linux 系统上找出数据段和堆栈最大大小?

c++ linux stack gcc data-segment

6
推荐指数
2
解决办法
3986
查看次数

标签 统计

c ×1

c++ ×1

data-segment ×1

gcc ×1

linux ×1

stack ×1

stack-overflow ×1

visual-studio ×1

windows ×1