PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einstieg gfortran


Gast
2010-03-17, 14:54:06
Hey, ich habe leider keine Ahnung was Programmiersprachen angeht und stehe grad auf dem Schlauch. Ich versuche ein kleines Hello world unter Windows 7 zum laufen zu kriegen. Ich hab gfortran installiert und

"Program Hallo
implicit none
Print *, "Hallo"
End Program Hallo"

als *.f90 gespeichert. Gehe ich dann in die cmd und gebe "gfortran Desktop/Datei.f90" ein, gibt er eine leere Zeile aus und ich kriege ihn auch nicht dazu, es mir als *.exe auszugeben. Baue ich einen Fehler in den code ein, gibt er mir aber Fehlermeldungen aus. Wo liegt das Problem?

Schonmal vielen Dank.

Gnafoo
2010-03-17, 15:52:26
Vermutlich wird in deinem Benutzerordner (d. h. nicht auf dem Desktop, sondern das Verzeichnis, von dem aus du gfortran aufrufst) eine Ausgabedatei namens "a.out.exe" o. ä. erzeugt. GCC (bzw. gfortran) benutzt "a.out", wenn die Ausgabedatei nicht explizit benannt wurde. In deinem Fall sollte also folgendes gehen:

gfortran Desktop/Datei.f90 -o Desktop/Datei.exe

Gast
2010-03-17, 17:28:29
ok, so funktionierts :)
Aber wie kommts, dass er mir das "Hallo" nicht direkt in der cmd ausgibt, sondern erst wenn ich das Programm als *.exe ausführe?

Und könntest du mir noch einen Befehl verraten, damit sich das Fenster nach dem Ausführen nicht direkt wieder schließt? nochmals danke.

Pinoccio
2010-03-17, 17:31:32
ok, so funktionierts :)
Aber wie kommts, dass er mir das "Hallo" nicht direkt in der cmd ausgibt, sondern erst wenn ich das Programm als *.exe ausführe?

Und könntest du mir noch einen Befehl verraten, damit sich das Fenster nach dem Ausführen nicht direkt wieder schließt? nochmals danke.Wie soll er dir das "Hallo" direkt ausgeben?

Wenn du eine Konsole öffnest und in dieser die exe Aufrufst, dann bleibt sie offen. (Das hat nichts mir Fortran zu tun.)

mfg

Gnafoo
2010-03-17, 17:38:19
ok, so funktionierts :)
Aber wie kommts, dass er mir das "Hallo" nicht direkt in der cmd ausgibt, sondern erst wenn ich das Programm als *.exe ausführe?

Weil der Compiler dein Programm nicht ausführt, sondern nur Übersetzt. Schließlich ist Fortran keine Skriptsprache.

Um das Konsolenfenster offen zu halten, musst du die Konsole entweder vorher selbst starten, oder dir eine kleine Batch-Datei anlegen, die das Programm startet und direkt danach "pause" ausführt.