3

FORTRAN でいくつかの .h ファイルと一緒に Fortran ファイルをコンパイルしようとしています。.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 を使用しています。

4

4 に答える 4

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 
于 2011-10-19T14:41:34.587 に答える
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
于 2013-07-02T16:43:34.850 に答える
0

あなたの最初の質問に対して、はい、「1」は通常、エラーが発生したコード内のポイントを示します。それ以外の場合、コード自体は問題ないように見えます。

于 2011-10-19T14:37:52.127 に答える