エラー:(1)の名前の無効な文字
質問
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を使用してこのファイルをコンパイルしています。
解決
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
他のヒント
変更する際にこの問題が発生しました 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
最初の質問に、はい、「1」は通常、エラーが発生するコードのポイントを示します。そうでなければ、コードは大丈夫に見えます。
実際、Fortran 77の継続列は6番です。
http://web.stanford.edu/class/me200c/tutorial_77/03_basics.html
所属していません StackOverflow