【发布时间】:2011-07-20 14:16:34
【问题描述】:
是否有任何与 C“内联”关键字等效的 Fortran 关键字?
如果存在一些特定于编译器的关键字,是否有用于 gfortran 的关键字?
【问题讨论】:
是否有任何与 C“内联”关键字等效的 Fortran 关键字?
如果存在一些特定于编译器的关键字,是否有用于 gfortran 的关键字?
【问题讨论】:
一般来说,Fortran 规范赋予编译器编写者如何实现事物的巨大空间,因此强制(甚至暗示)特定优化的语言级构造将非常不适合 Fortran。
您在现代 Fortran 中通常做的不是指定优化,而是告诉编译器它可以用来决定要实现哪些优化。所以一个例子是标记一个无副作用的函数或子程序PURE,以便启用某些优化(实际上,这可能使内联更容易)。
否则,正如@Vladimir F 指出的那样,您可以以这种方式使用 预先规定的编译器选项。
类似地,CONTAINed 子程序似乎被 gfortran 更积极地内联,但这可能有帮助,也可能没有帮助。
【讨论】:
据我所知,没有源代码语句。有时您可以使用显然是内联的语句函数。否则,使用编译器命令行选项作为 gfortran 的“-finline-functions”。
【讨论】: