Qt / MinGW32内存使用限制?

时间:2014-03-20 18:51:24

标签: qt memory mingw

我用Qt 4.8.1和MinGW32(诺基亚Qt SDK)编写了一个应用程序。我尝试使用此应用程序加载大文件,但当内存使用量达到1,868 MB时,应用程序总是崩溃。如果我减小输入文件的大小,应用程序工作正常。 Qt应用程序或MinGW32有内存限制吗?如果我真的希望我的应用程序使用更多内存,我该怎么办?我的窗户是64位。

P.S。添加" QMAKE_LFLAGS_WINDOWS + = -Wl, - stack,32000000"到.pro文件不会工作

非常感谢!

p.p.s。我看到很多软件能够使用10+ GB,例如Matlab,如何在Qt应用程序上做到这一点?

2 个答案:

答案 0 :(得分:0)

您的Windows副本可能是64位,但MingW32是32位编译器,因此使用该编译器编写的任何应用程序都具有standard limits inherent to 32 bit Windows。实际上,您无法获得超过2G左右的内存供您的应用使用。

method可以达到3G,但除此之外你需要一个64位编译器。

答案 1 :(得分:0)

2GB限制仅适用于进程。 您可以沿N个进程(32位)传播应用程序以分配N x 2GB。操作系统必须仍为64位。