当我尝试将10516x66矩阵乘以66x10516(通过其转置的矩阵)时,我遇到了标题中描述的错误。结果应该是10516x10516矩阵,当然我从来没有实现过。也许我的推理是有缺陷的,但由于我的矩阵是Mat<double>
并且每个双精度是8个字节,结果应该是10516 * 10516 * 8 = 884690048字节= 0.88469 GB。我的机器是带有8 Gb RAM的Windows,我运行的是32位minGW编译器。任何想法,这是怎么回事,以及如何克服这个问题?
答案 0 :(得分:0)
链接:https://msdn.microsoft.com/en-us/library/wz223b1z(VS.80).aspx
最有可能的是,您的进程限制为2Gb,在分配时,内存不足或连续内存不足。转向4Gb可能会很快解决问题
更新
看起来等效的mingw32链接器选项是--large-address-aware