在使用gfortran的Mac系统上,连接(##
)的C预处理宏似乎不起作用。在其他系统上使用其他Fortran编译器可以正常运行,因此我正在寻找gfortran的解决方法。我必须使用##
来创建许多变量,因此我不能没有它们。
示例代码:
#define CONCAT(x,y) x##y
program main
integer, parameter:: CONCAT(ID,2) = 3
print*,"Hello", ID_2
end program main
在 MAC 上使用 gfortran 进行编译时出现编译错误。
gfortran m.F90 -o m
m.F90:5.23:
integer, parameter:: ID##2 = 3
1
Error: PARAMETER at (1) is missing an initializer