没有动态内存分配,fortran 77程序员如何管理?

时间:2016-11-16 11:32:07

标签: fortran dynamic-memory-allocation fortran77

我开始学习Fortran,来自C ++ / Matlab / Java背景。我意识到一些Fortran程序员仍然坚持使用F77,可能是因为他们不喜欢面向对象,命名空间和东西,并习惯于旧语法。

据我所知,你可以编写一个没有OOP的程序。我不明白的是,如果没有动态内存管理,你将如何做。有一千个例子,你事先不知道数组大小 - 例如将完整矩阵转换为稀疏矩阵时。

当然,现代Fortran提供了#34;自动阵列和#34;和"可分配的数组"。但这些都没有在1977年出现。如果没有这些结构,F77的人如何管理呢?

1 个答案:

答案 0 :(得分:5)

在标准语言中,该方法通常是将存储放在一个比可能需要的更大的数组中,但仍然在运行该程序的平台的约束内,然后根据需要手动打包存储。该语言具有序列关联,存储关联和可调整数组等功能,这些功能有助于此次分析。

使用语言扩展进行动态内存管理也很常见。

Fortran 77及更早版本的功能需要在当时平台功能的背景下加以考虑。