首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fortran测试内存溢出

fortran测试内存溢出
EN

Stack Overflow用户
提问于 2014-10-26 09:14:23
回答 1查看 483关注 0票数 1

我正在运行一个FORTRAN程序,它动态地为相当大的数组分配内存,有时它们不适合内存。

这样的分配

代码语言:javascript
复制
 allocate(my_array(really big_number))

会给出错误

代码语言:javascript
复制
Operating system error: Cannot allocate memory
Allocation would exceed memory limit

程序就会退出。我想知道是否有任何方法来捕获这个或测试内存是否可用,这样如果不允许我分配这么大的数组,我就可以采取适当的措施?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-26 09:28:20

用途:allocate(my_array(really big_number),stat=ierror)

使用stat=说明符,分配的状态将存储在指定的变量中(示例中的ierror)。零表示分配成功,非零表示分配失败。

来自ALLOCATE语句上的Fortran 90标准(ALLOCATE):

如果存在STAT=说明符,则分配语句的成功执行将导致stat变量定义为零。 如果在执行ALLOCATE语句时出现错误情况,那么stat变量就会被定义为一个与处理器相关的正整数值。如果在不包含ALLOCATE说明符的STAT=语句的执行过程中出现错误情况,则可执行程序的执行将终止。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26571470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档