Fehler: Ungültiges Zeichen im Namen bei (1)
Frage
Ich versuche, eine FORTRAN -Datei zusammen mit einigen .H -Dateien in Forran zu kompilieren. Die .H -Dateien enthalten Definition für gemeinsame Variablenblöcke. Wenn ich sie in Forran zusammenstelle, erhalte ich den folgenden Fehler:
integer knue,ke,knumu,kmu,knutau,ktau,ku,kd,kc,ks,kt,kb,kgamma,
1
Error: Invalid character in name at (1)
Der Code, bei dem dieser Fehler auftritt, ist,
Jetzt ist meine Frage, dass dies "1" zeigt, wo der Fehler ist?
Die Codezeilen, die dieser Fehler zeigt, ist,
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
Außerdem stimmt etwas mit der Art und Weise, wie Fortsetzung verwendet wird. Ich verwende GFortran, um diese Datei zu kompilieren.
Lösung
Es sieht so aus, als würden Sie Fortran 77 -Style -Line -Kontinuationen verwenden und versuchen, mit dem Free -Format -Code von Forran 90 -Stil zu kompilieren. Sie müssen entweder mit dem GFortran kompilieren -ffixed-form
Option oder formatieren Sie den Code mit Fortran 90 -Style -Zeileninstallation:
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
Andere Tipps
Ich hatte dieses Problem bei der Änderung scipy
und versuchen, es zu kompilieren. Die folgende Identation war notwendig, damit es mit dem Stern funktioniert *
In Spalte 5. funktioniert es sowohl für Forran 77- als auch für 90 -Stile.
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
Zu Ihrer ersten Frage bezeichnet ja der "1" normalerweise den Punkt im Code, an dem der Fehler auftritt. Der Code als solcher sieht sonst in Ordnung aus.
Tatsächlich ist die FORTRAN 77 -Continuation -Spalte Nummer sechs.
http://web.stanford.edu/class/me200c/tutorial_77/03_basics.html