我开始学习Fortran,来自C ++ / Matlab / Java背景。我意识到一些Fortran程序员仍然坚持使用F77,可能是因为他们不喜欢面向对象,命名空间和东西,并习惯于旧语法。
据我所知,你可以编写一个没有OOP的程序。我不明白的是,如果没有动态内存管理,你将如何做。有一千个例子,你事先不知道数组大小 - 例如将完整矩阵转换为稀疏矩阵时。
当然,现代Fortran提供了#34;自动阵列和#34;和"可分配的数组"。但这些都没有在1977年出现。如果没有这些结构,F77的人如何管理呢?
答案 0 :(得分:5)
在标准语言中,该方法通常是将存储放在一个比可能需要的更大的数组中,但仍然在运行该程序的平台的约束内,然后根据需要手动打包存储。该语言具有序列关联,存储关联和可调整数组等功能,这些功能有助于此次分析。
使用语言扩展进行动态内存管理也很常见。
Fortran 77及更早版本的功能需要在当时平台功能的背景下加以考虑。