是否存在与C“inline”关键字等效的Fortran关键字?
如果存在某些特定于编译器的关键字,那么gfortran是否存在?
答案 0 :(得分:7)
通常,Fortran规范授予编译器编写者如何实现事物的巨大空间,因此强制(甚至暗示)特定优化的语言级构造将非常不受Fortran-y。
您在现代Fortran中通常所做的不是指定优化,而是告诉编译器它可以用来决定要实现哪些优化。因此,一个示例是标记无副作用的函数或子例程PURE
,以便启用某些优化(实际上,这可以使内联更容易)。
否则,正如@Vladimir F指出的那样,您可以使用 以这种方式预先编写的编译器选项。
同样地,似乎CONTAIN
ed子程序由gfortran更积极地内联,但这可能有助于也可能没有帮助。
答案 1 :(得分:1)
我知道没有源代码声明。有时您可以使用语句功能,这些功能显然是内联的。否则使用编译器命令行选项作为gfortran的“-finline-functions”。