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.

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top