Fortran 2003 不允许此内部程序 [BESSEL_J0]

Fortran 2003 does not allow this intrinsic procedure [BESSEL_J0]

我想在 Fortran 2003(我使用的超级计算机上安装的版本)中使用 bessel_j0 函数,但在编译源代码时遇到以下警告:

warning #7416: Fortran 2003 does not allow this intrinsic procedure. [BESSEL_J0]

然后呢?

这是否意味着我根本无法使用它?或者我可以用其他方式称呼它吗?

首先,这是警告,不是错误。如果后面没有其他内容,编译应该就OK了。

当您明确要求将您的程序编译为 Fortran 2003 时,会出现这种警告。所以请不要那样做!

函数 BESSEL_J0 来自 Fortran 2008。只需删除任何 -stand f03-std=f2003 或类似选项。或者至少将这些标志中的标准从 03 提高到 08。

我不能更具体,因为你没有告诉我们你的编译器版本和你使用的标志,但警告似乎来自 Intel Fortran。