我编写了一个用于船舶运动水动力学边界元计算的程序,面元数较少时没什么问题,到了1200个以上是运行会出现如下错误信息:
forrtl: severe (41): insufficient virtual memory
Image              PC        Routine            Line        Source
ABTG.exe           00416789  Unknown               Unknown  Unknown
ABTG.exe           004165BB  Unknown               Unknown  Unknown
ABTG.exe           004157C4  Unknown               Unknown  Unknown
ABTG.exe           0040CC2F  Unknown               Unknown  Unknown
ABTG.exe           0040CC7D  Unknown               Unknown  Unknown
ABTG.exe           0040610F  Unknown               Unknown  Unknown
ABTG.exe           004012C9  Unknown               Unknown  Unknown
ABTG.exe           0043A7A9  Unknown               Unknown  Unknown
ABTG.exe           0042EB54  Unknown               Unknown  Unknown
kernel32.dll       7C817077  Unknown               Unknown  Unknown
我试着把虚拟内存加到了10240MB,但还是没能解决这一问题,在此向各位高手求教,谢谢!!
PS:程序利用到了不少动态数组,但我都在使用完毕之后第一时间deallocate了,不对程序做彻底优化的话,短时间内无法从这一角度来降低内存开销了,不知有没有其他办法