我想知道是否有可能选择不同部分来编译我的Fortran 95例程。
例如,如果我向gfortran传递某些标志,编译器将选择用于某个函数的哪个部分。我知道可以在例程内部使用
我特别需要与计算许多体系能量(比如说一百万个)的程序配合工作。然后,我不希望每次需要在编译时使用不同的能量定义时都要放置一个
我希望这是可能的,也希望我的问题很清楚。
例如,如果我向gfortran传递某些标志,编译器将选择用于某个函数的哪个部分。我知道可以在例程内部使用
if
来实现这一点,但缺点是由于速度问题,我不希望程序始终运行if
。我想解决方案应该类似于这个。我特别需要与计算许多体系能量(比如说一百万个)的程序配合工作。然后,我不希望每次需要在编译时使用不同的能量定义时都要放置一个
if
。我希望这是可能的,也希望我的问题很清楚。
#elsif
是一个打字错误,应该改成#elif
。 - s.ouchene#elsif
很好地捕捉到了问题。此外,你需要使用defined()
来等效于#ifdef
。 - Alexis Wilke