在Windows cmd MinGW C ++上增加堆栈大小

时间:2015-11-09 22:43:49

标签: arrays windows stack mingw

我在我的64位Windows 8系统上运行代码,内存为8 GB,为我的项目提供,基本上涉及三维矩阵,这些矩阵很大(20x20x60000)。在Linux终端中编译代码后,我运行:

ulimit -s unlimited

然后我可以按预期执行程序。

在我的Windows命令提示符下,我可以使用命令:

g++ -I"C:\gsl" -L"C:\gsl" main.cp -o main.exe -lgsl -lgslcblas -Wall -lm

但是给了我一个错误:

main.cp:141:6: error: total size of local objects too large
void TrajectoryAdd(void *p, double time)

当我减小矩阵的大小时,上面的命令工作正常,所以我假设堆栈大小不够大。所以我一直在尝试使用:

g++ -Wl,--stack,46777216

但是回归:

undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status

我已按照其他帖子的建议尝试了此命令的变体,但这似乎不起作用,即

g++ -Wl,--stack,46777216 -o -I"C:\gsl" -L"C:\gsl" main.cp -o main.exe -lgsl -lgslcblas -Wall -lm

对于一些稍微小一点的矩阵我已经能够编译,但是当我运行可执行文件时出现Windows错误:Main.exe已停止工作。

我是C ++的初学者,因此我无法提交修改源代码的其他解决方案。

0 个答案:

没有答案