Re: Δωρεάν Fortran compilers

23
Μερικά χρήσιμα options για την κλήση του gfortran (βλ. στο Geany Build>Set Build Commands)
  • Εάν θέλετε να γίνεται αναλυτική αναφορά του τύπου "array bounds exceeded" πρέπει να χρησιμοποιήσετε το option "-fcheck=bounds" στο build.
  • Εάν θέλετε να περιορίσετε το πλήθος των λαθών που αναφέρονται (να βλέπετε π.χ. μόνο τα πρώτα 5 λάθη) μπορείτε να χρησιμοποιήσετε το option "-fmax-errors=5" στο compile. Σημειώστε ότι υπερβολικά μεγάλο πλήθος λαθών και warnings μπορεί να κάνει το πρόγραμμα να "κολλήσει" κατά το compilation.
  • Εάν θέλετε να μην "κόβει" ο gfortran τις εκτενείς γραμμές (βλ. σφάλμα "line truncated"), μπορείτε να χρησιμοποιήσετε το option "-ffree-line-length-0"
  • [Μην καλομάθετε!] Εάν θέλετε να αρχικοποιείτε αυτόματα όλες τις μεταβλητές στο μηδέν (δεν προτείνεται), μπορείτε να χρησιμοποιήσετε το option "-finit-local-zero" στο build. Ενδέχεται να μην πιάνει σε allocatable arrays.
Εγώ αυτή τη στιγμή χρησιμοποιώ τις παρακάτω build commands:
Compile: gfortran -Wall -fmax-errors=5 -c "%f"
Build: gfortran -Wall -fcheck=bounds -o "%e" "%f"

Θα ενημερώσω και τις σχετικές οδηγίες σύντομα.

edit: Υπάρχει κάποιο πρόβλημα με το wiki της Κοινότητας Ελεύθερου Λογισμικού και δεν αναμένεται να ενημερωθούν ιδιαίτερα σύντομα οι οδηγίες. Ζητώ συγγνώμη, βολευτείτε από εδώ.

edit2: Το πρόβλημα διορθώθηκε και πλέον το wiki είναι ενημερωμένο! :D
Τελευταία επεξεργασία από το μέλος MakisH την Δευ 04 Φεβ 2013, 11:47 am, έχει επεξεργασθεί 2 φορές συνολικά.
Λόγος: βλ. edit

Re: Δωρεάν Fortran compilers

25
Το SilverFrost μας το πρότεινε (ή τέλος πάντων το ανέφερε) ο προηγούμενος διδάσκοντας του μαθήματος. Θυμάμαι ότι πετούσε ένα εκνευριστικό μήνυμα και είχε μια καθυστέρηση κάθε φορά που έτρεχες ένα πρόγραμμα που έφτιαχνες σε αυτό. Επίσης είναι μόνο για Windows, κλειστού κώδικα, δεν πολυακούγεται... Από όταν ανακάλυψα το gfortran (με editor π.χ. το Geany) δεν το ξανακοίταξα, νομίζω δεν έχει και πολύ νόημα. Καλά έκανες και το παρέθεσες πάντως. :)

Re: Δωρεάν Fortran compilers

26
Κι εγώ έτσι πιστεύω :)
Η αλήθεια είναι πως δεν ήξερα πως το χρησιμοποιεί τόσος κόσμος από τη σχολή, πίστευα πως όλοι έχουμε το gfortran(με το Geany).
Η ανακάλυψη έγινε μετά από συζήτηση με ορισμένα άτομα που έχουμε το επιλογής του 6ου με τον κ.Μπουντουβή και για κάποιο λόγο το Geany δεν μας έτρεχε.
Φαντάζομαι δεν τους έτρεχε είτε γιατί δεν αποθήκευσαν το file στη σωστή θέση και μετά δεν αναγνωριζόταν το αρχείο για να γίνει το compile ή όπως στην περίπτωσή μου, είχα κατεβάσει κάποια προγράμματα και μετά από την εγκατάσταση για κάποιο λόγο παρεμπόδιζαν το άνοιγμα του Geany κάτι που κατάλαβα αφού είχα πάρει το silverfrost.
Κι έτσι φτάσαμε στο Silverfrost που το μας το έδωσαν από το Ηλιακό και ήταν πραγματικά πολύ καλό !!!

Πάντως επειδή καταλαβαίνω πως έχει περάσει πολύς καιρός από τότε που το κοίταξες, σου προτείνω να του ξαναρίξεις μια ματιά καθώς αξίζει(θεωρώ) :heart: .
Τώρα για καθυστέρηση δεν ξέρω, έχω τρέξει τους κώδικες του μαθήματος που είναι μακροσκελείς και είναι εντάξει :hm:

Εναλλακτικά ίσως και να μπορεί αν θέλει κπ να τρέξει κάποιο κώδικα fortran, να το κάνει από το cmd και έναν απλό κειμενογράφο ή με το [*]SciTE(text editor κι αυτός) που είναι ακόμη πιο εύκολο.
Μόλις το κοιτάξω καλύτερα θα παραθέσω κάτι πιο πλήρες :razz:
[*]http://www.scintilla.org/SciTE.html
Jealousy is the fear or apprehension of superiority: envy our uneasiness under it.
-William Shenstone

Re: Δωρεάν Fortran compilers

27
Ως "καθυστέρηση" εννοώ ότι κάθε φορά που το έτρεχες σου έβγαζε ένα pop-up που έλεγε κάτι σαν "μόνο για προσωπική χρήση" και το πρόγραμμα ξεκινούσε μετά από 5-10 δευτερόλεπτα. Θα το ξαναδοκιμάσω κάποια στιγμή, συνεχίζω όμως να δίνω υψηλότατη σημασία στο αυτό που προτείνω να υποστηρίζεται όσο το δυνατόν σε περισσότερα λειτουργικά συστήματα (τουλάχιστον σε Windows, Mac, Linux) και να είναι κατά το δυνατόν "δημοφιλές" (δηλαδή να υποστηρίζεται από πολλούς, να υπάρχει βιβλιογραφία κτλ).

Ως editor μπορεί να χρησιμοποιήσει κάποιος οποιονδήποτε. Το θέμα είναι βασικά ο compiler. Ο gfortran που προτείνεται στο μάθημα τρέχει φυσικά και μέσω command line. Η εντολή για να κάνεις compile ένα αρχείο με κώδικα fortran που το λες πχ "foo.f90" είναι απλώς:

Κώδικας: Επιλογή όλων

gfortran foo.f90
Αυτό παράγει ένα εντελέσιμο αρχείο. Σε Linux που έχω πρόχειρο το αρχείο λέγεται (αν δεν καθορίσεις κάτι άλλο) "a.out" άρα το τρέχεις με την εντολή:

Κώδικας: Επιλογή όλων

./a.out
Λογικά σε Windows θα παράγει κάτι σαν "a.exe", άρα το τρέχεις απλώς γράφοντας το όνομα του αρχείου.
Περισσότερα για το Command Promt των Windows και για το Linux Terminal.

Re: Δωρεάν Fortran compilers

28
Έλα βρε Μάκη :razz:
5-10 δεύτερα?Και τα μέτρησες κιόλας??? Τώρα θα μου πεις ο χρόνος είναι χρήμα.
Καλά κάνεις, δεν αντιλέγω. Απλά είναι ωραία και λίγη ποικιλία(ούτε εγώ ήξερα ότι υπάρχει το Silverfrost) :)
Πάντως σου συστήνω ανεπιφύλακτα να κατεβάσεις το sciTE.
Έχει σημασία ο editor( στη συγκεκριμένη περίπτωση).Όταν γράψεις στο sciTE τον κώδικά σου και έπειτα καλέσεις το cmd, δεν χρειάζεται παρά να γράψεις το όνομα του αρχείου, σε αντίθεση με την περίπτωση που θα έγραφες σε ένα κειμενογράφο τον Windows(αυτά έχω οπότε εκεί πάει το παράδειγμα) που θα χρειαζόταν να προσδιορίσεις τη θέση, να το κάνεις exe και μετά τα το τρέξεις(ή τουλάχιστον όπως το έκανα εγώ).

Στο sciTE γίνεται με μία εντολή-το όνομα του αρχείου-(σίγουρα στα Windows και σε Linux και σε οτιδήποτε)και νομίζω δεν περιορίζεται και στη fortran μόνο σαν γλώσσα προγραμματισμού που υποστηρίζει. Είναι και δωρεάν, είναι και ανοιχτού κώδικα, νομίζω θα σου αρέσει!
Jealousy is the fear or apprehension of superiority: envy our uneasiness under it.
-William Shenstone

Re: Δωρεάν Fortran compilers

29
Τα 5-10 δεύτερα είναι ιδιαίτερα εκνευριστικά όταν τρέχεις και ξανατρέχεις το πρόγραμμα πολλές φορές μέσα σε λίγα λεπτά ή λιγότερο (διορθώνοντας πράγματα ή αλλάζοντας παραμέτρους). Θα δοκιμάσω και το SciTE, δεν το είχα ξανακούσει. :)