我正在尝试在FORTRAN中编译fortran文件和一些.h文件。 .h文件包含常见变量块的定义。当我在Fortran中编译它们时,我收到以下错误:
integer knue,ke,knumu,kmu,knutau,ktau,ku,kd,kc,ks,kt,kb,kgamma,
1
Error: Invalid character in name at (1)
发生此错误的代码是
现在我的问题是,这个“1”点是错误的吗?
此错误指向的代码行是
integer knue,ke,knumu,kmu,knutau,ktau,ku,kd,kc,ks,kt,kb,kgamma,
& kw,kz,kgluon,kh1,kh2,kh3,khc,ksnue,kse1,kse2,ksnumu,ksmu1,
& ksmu2,ksnutau,kstau1,kstau2,ksu1,ksu2,ksd1,ksd2,ksc1,ksc2,
& kss1,kss2,kst1,kst2,ksb1,ksb2,kn1,kn2,kn3,kn4,kcha1,kcha2,
& kgluin,kgold0,kgoldc
此外,使用延续的方式是否有问题。我正在使用gfortran来编译这个文件。
答案 0 :(得分:5)
看起来您正在使用Fortran 77样式行延续并尝试使用Fortran 90样式的自由格式代码进行编译。您需要使用gfortran -ffixed-form
选项进行编译,或使用Fortran 90样式行连续格式化代码:
integer knue,ke,knumu,kmu,knutau,ktau,ku,kd,kc,ks,kt,kb,kgamma, &
kw,kz,kgluon,kh1,kh2,kh3,khc,ksnue,kse1,kse2,ksnumu,ksmu1, &
ksmu2,ksnutau,kstau1,kstau2,ksu1,ksu2,ksd1,ksd2,ksc1,ksc2, &
kss1,kss2,kst1,kst2,ksb1,ksb2,kn1,kn2,kn3,kn4,kcha1,kcha2, &
kgluin,kgold0,kgoldc
答案 1 :(得分:1)
修改scipy
并尝试编译时遇到此问题。以下标识对于使其工作是必要的,星号*
位于第5列。它适用于Fortran 77和90样式。
double precision a,abseps,abserr,alist,area,area1,area12,area2,
* a1,a2,b,blist,b1,b2,correc,dabs,defabs,defab1,defab2,d1mach,
* dmax1,dres,elist,epmach,epsabs,epsrel,erlarg,erlast,errbnd,
* errmax,error1,error2,erro12,errsum,ertest,f,oflow,resabs,
* reseps,result,res3la,rlist,rlist2,small,uflow,areav
答案 2 :(得分:0)
对于您的第一个问题,是“1”通常表示代码中发生错误的点。这样的代码看起来不错。
答案 3 :(得分:0)
实际上Fortran 77延续专栏是第六名。
http://web.stanford.edu/class/me200c/tutorial_77/03_basics.html