2. 我不明白你的问题2,什么叫 C++ 可以开到内存耗空?你如何判断耗空了?
3. 如果你的windows是32位的,那么你换64位IVF编译器是不行的。编译出的程序根本无法运行。你必须在64位的CPU机器,且64位的windows下,使用64位的编译器重新编译。
4. windows 有个东西,叫虚拟内存,你可以试试设置稍大一些。
5. 操作系统的内存管理,是一个复杂的问题。一些工具,比如任务管理器所显示的,只是一个参考,并不准确。
6. 不管怎样,数组的上限,这是一个编译器的行为。语法并不规定,这不会是 Fortran 与 C++ 的区别。 fcode 发表于 2014-6-19 14:47
1. 电脑出现内存不足,那说明就真的快空了。所以你的 Fortran 程序实际还是用得差不多了的。
2. 我不明白你 ...
针对第2点:电脑提示了内存不足,这和第1点是一样的;
第3点中,VS2010是没有64位版本的。IVF有的,至少可以在编译时,选择64平台(plantform)进行编译。我是在64位的操作系统下,选用IVF的64位平台编译运行的。好像这是唯一的办法。windows平台下。也可能是我孤陋寡闻吧。如果大家知道,请告知;
第4点,我的虚拟内存开到了4G,而且实在不清楚,编译器是怎么利用虚拟内存的;
第5点,我也觉得是这样的;
第6点,有可能是编译器不一样的问题。
不管怎样,谢谢你的回复! 编译器不利用虚拟内存。编译器编译后的程序,向操作系统申请空间,操作系统再决定在内存或虚拟内存。
如果你确定是64位的CPU,64位的操作系统,64位的编译器,那么应该是没有问题的了。依然不够用,那就真的是上限了。
我认为这个问题,Fortran 与 C 没有区别。即便是编译器不同,也不会差很多。编译器都不是傻子,不会留着可用资源而不用的
页:
1
[2]