我看到Fortran有'call'和'include'语句。两者有什么区别? .i文件类型是否有一些意义?
即:
include 'somefile.i'
call 'somesubroutine.f'
谢谢!
答案 0 :(得分:6)
INCLUDE
语句允许您包含来自其他文件的源,就好像它位于语句所在的文件中一样。它在组织代码方面的用处有点可疑,但有些人发誓。
在F77中它是一个共同的延伸(我相信,从MIL-STD 1971),在F90它使它成为标准。
文件类型没有意义。事实上,在fortran中,大多数文件类型(甚至是f77,f90等更常见的文件类型)都没有意义。大多数编译器仅使用它们来自动“检测”并将自由形式与固定形式的源代码区分开来,但它们也允许其他形式。
CALL
语句用于调用子例程。它的格式为CALL subroutine_name(list-of-arguments)
。子程序是构建程序并将程序划分为逻辑子单元的更简单方法之一。
但这都是相对基础的,并且在每个Fortran教程中都有介绍。有些更好,有些更糟。学习者的一些好的起点是Wikipedia page(不完美,但也不是那么糟),FortranWiki和两本书。一个IRO-bot已经提到过,其他的将是Chapman's Fortran 95/2003 for scientists and engineers。它通常被认为更适合初学者,有一个简单的方法和过多的实际例子,而Metcalf的目标也是更多的参考书。
答案 1 :(得分:4)
通常,文件扩展名对编译器没有特殊含义。您可以包含任何文件,而不仅仅是.i。 Fortran源文件的常见扩展名是.inc。
include语句逐字地将指定的文件插入到源代码中。
调用语句非常不同,它用于调用Fortran子例程。
这些是非常基本的概念。最重要的是,您应该在线查找Fortran教程(只需尝试google)。或者获得关于Fortran编程的几本好书之一,例如:梅特卡夫和里德。