Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc 错误:名称中的无效字符位于(1)_Gcc_Fortran_Fortran90_Gfortran_Mixed - Fatal编程技术网

Gcc 错误:名称中的无效字符位于(1)

Gcc 错误:名称中的无效字符位于(1),gcc,fortran,fortran90,gfortran,mixed,Gcc,Fortran,Fortran90,Gfortran,Mixed,我正在尝试编译一个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”是否指向错误

我正在尝试编译一个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编译这个文件

对于第一个问题,是的,“1”通常表示代码中发生错误的点。否则,代码本身看起来没问题。

看起来您正在使用Fortran 77样式的行延续,并尝试使用Fortran 90样式的自由格式代码进行编译。您需要使用gfortran
-ffix 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 

我在修改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

实际上Fortran 77的延续列是第六列


代码和编译器的版本是否相同(FORTRAN77、FORTRAN90或FORTRAN95)?FORTRAN77是基于列的,而FORTRAN90/95允许更自由的格式。通常不鼓励发布链接,因为链接可能会失效,然后答案会失去价值。最好的建议是在你的答案中引用链接内容的相关部分,并将该链接作为读者的参考,读者可以了解更多细节或评估来源。