Προγραμματισμός σε Fortran με τον GFortran και το Geany

Από Κοινότητα Ελεύθερου Λογισμικού ΕΜΠ
Μετάβαση σε: πλοήγηση, αναζήτηση

Αυτή είναι μια παρουσίαση για τη λήψη, την εγκατάσταση και τη χρήση του GFortran, μέρος του GNU Compiler Collection (GCC). Ο GFortran είναι ένας ελεύθερα διαθέσιμος, multiplatform, compiler για διάφορες εκδόσεις της Fortran. Παρόλο που μπορεί κανείς να τον χρησιμοποιήσει μέσω terminal ή μέσω οποιουδήποτε text editor, σε αυτή την παρουσίαση θα χρησιμοποιήσουμε τον text editor Geany, ο οποίος προορίζεται για προγραμματιστική χρήση. Είναι επίσης ελεύθερα διαθέσιμος, multi-platform, ιδιαίτερα απλός στην εγκατάσταση και χρήση, ενώ παρέχει κάποιες ιδιαίτερα χρήσιμες δυνατότητες όπως πολλές καρτέλες σε ένα παράθυρο και "αναδίπλωση" κομματιών κώδικα (π.χ. βρόχους, υποπρογράμματα κτλ). test Θα ακολουθήσει παρουσίαση του τρόπου λήψης, εγκατάστασης και χρήσης για Windows και βασικές διανομές Linux.

Μην σας τρομάζει το μήκος του κειμένου! Όλα παρουσιάζονται βήμα-βήμα από το μηδέν. Στην πράξη είναι εξαιρετικά απλό και γρήγορο!

Windows

Λήψη

Για τη λήψη του Geany:

  • Μέσω web browser πηγαίνουμε στη διεύθυνση www.geany.org
  • Στην αριστερή στήλη, στο μενού Download, επιλέγουμε "Releases" και μεταφερόμαστε έτσι στη διεύθυνση www.geany.org/Download/Releases
  • Στην ενότητα "Windows Binaries, επιλέγουμε το αρχείο με την περιγραφή "Full Installer including GTK" και το αποθηκεύουμε στον υπολογιστή μας. Αγνοήστε κάθε προειδοποίηση που μπορεί να βγάλουν τα Windows, είναι ασφαλές πρόγραμμα...

Για τη λήψη του GFortran:

  • Μέσω web browser πηγαίνουμε στη διεύθυνση gcc.gnu.org/wiki/GFortranBinaries
  • Στην ενότητα "Windows" διαβάζουμε: "If in doubt, or if you don't know what Cygwin and MinGW are, the package for you is the MinGW ("native Windows") package!".
  • Κάτω από το bullet "MinGW build ("native Windows" build) εντοπίζουμε το bullet "Unofficial build" με την περιγραφή "It's very easy to use (basically, just click on the OK buttons)" και κατεβάζουμε το σχετικό αρχείο "installer".
Λήψη του GFortran για Windows

Εγκατάσταση

Για την εγκατάσταση του Geany απλώς πατάμε "next" σε κάθε παράθυρο:

  • Τρέχουμε το αρχείο εγκατάστασης του Geany το οποίο κατεβάσαμε νωρίτερα
  • Στη Welcome screen πατάμε "Next"
  • Διαβάζουμε και αποδεχόμαστε την άδεια χρήσης πατώντας "I Agree"
  • Επιλέγουμε τα "συστατικά" του Geany που θέλουμε να εγκαταστήσουμε. Καλό είναι να επιλέξετε Full Install.
  • Επιλέγουμε πού θέλουμε να εγκατασταθεί το Geany (Destination Folder). Κατά προτίμηση αφήνουμε την προεπιλογή και πατάμε "Next".
  • Επιλέγουμε αν και με ποιο όνομα θέλουμε να δημιουργηθεί συντόμευση στο Start Menu και πατάμε Install.

Για την εγκατάσταση του GFortran ομοίως απλά:

  • Τρέχουμε το αρχείο εγκατάστασης του GFortran το οποίο κατεβάσαμε νωρίτερα
  • Διαβάζουμε και αποδεχόμαστε την άδεια χρήσης πατώντας "I Agree"
  • Επιλέγουμε (ή αφήνουμε προεπιλεγμένο κατά προτίμηση) πού θέλουμε να εγκατασταθεί και πατάμε "Install".

Δεν περιμένετε να βρείτε κάποιο εικονίδιο εκτέλεσης του GFortran, αλλά μονάχα για το Geany.

Χρήση

Για να γράψουμε και να εκτελέσουμε έναν κώδικα Fortran, απλώς τρέχουμε το Geany (πρέπει να βρίσκεται στο Start Menu\All Programs\Geany), γράφουμε τον κώδικα, αποθηκεύουμε το αρχείο με κατάληξη αρχείου fortran (π.χ. .f90) και πατάμε κατά σειρά Compile, Build, Execute. Διαβάστε περισσότερα για την χρήση αλλά και για κάποιες απαραίτητες ρυθμίσεις παρακάτω.

Linux

Ubuntu

Εδώ η λήψη και η εγκατάσταση γίνονται πολύ εύκολα με ελάχιστα κλικ:

  • Ανοίγουμε το Ubuntu Software Center
  • Πληκτρολογούμε "Geany" στην αναζήτηση. Περιμένουμε ένα μόνο αποτέλεσμα, το επιλέγουμε και πατάμε Install (θα χρειαστεί να πληκτρολογήσετε τον κωδικό σας).
  • Ομοίως, πληκτρολογούμε "gfortran" στην αναζήτηση, βγαίνει ένα αποτέλεσμα, το εγκαθιστούμε.

Γενικότερα, στις διανομές της οικογένειας Debian (π.χ. Debian, Ubuntu, Mint), ψάχνουμε τα πακέτα "geany" και "gfortran" μέσω π.χ. του Synaptic.

Για να γράψουμε κώδικα, απλώς τρέχουμε το "Geany" από το Applications menu (πρέπει να βρίσκεται στην κατηγορία Programming). Διαβάστε περισσότερα παρακάτω.

Fedora

Ομοίως με το ubuntu:

  • Ανοίγουμε το Add/Remove Software
  • Πληκτρολογούμε "Geany" στην αναζήτηση. "Τικάρουμε" το πακέτο με το λυχνάρι για εικόνα και την περιγραφή "A fast and lightweight IDE using GTK2" (ή απλώς το πακέτο "geany-έκδοση").
  • Πληκτρολογούμε "gfortran" στην αναζήτηση. "Τικάρουμε" το "Fortran support" (ή αλλιώς "gcc-gfortran-έκδοση").
  • Πατάμε apply και ακολουθούμε τις οδηγίες. Επιλέγουμε να εγκατασταθεί μαζί όποιο άλλο πακέτο χρειάζεται.

Για να γράψουμε κώδικα, απλώς τρέχουμε το "Geany" από το Applications menu (πρέπει να βρίσκεται στην κατηγορία Programming). Διαβάστε περισσότερα παρακάτω.

Άλλα λειτουργικά συστήματα

Στην ιστοσελίδα του Geany μπορείτε να βρείτε πακέτα για πολλά άλλα λειτουργικά συστήματα, καθώς επίσης και τον πηγαίο κώδικα. Ο GFortran τρέχει επίσης σε πλήθος άλλων λειτουργικών συστημάτων, είτε μέσω εκτελέσιμων αρχείων είτε μέσω κώδικα.

Χρήση - Αναλυτικά

Για να γράψουμε (και να μπορέσουμε να εκτελέσουμε) κώδικα Fortran κάνουμε τα εξής:

  1. Εκτελούμε το Geany (μέσα από το start menu ή το applications menu)
  2. Σώζουμε το αρχείο στο οποίο θα γράψουμε τον κώδικά μας σαν αρχείο Fortran:
    1. Πατάμε το πλήκτρο "Save" στη γραμμή εργαλείων του Geany
    2. Δίνουμε ένα όνομα στο αρχείο και φροντίζουμε να έχει μια κατάληξη αρχείου Fortran, αντίστοιχη της έκδοσης Fortran που έχουμε χρησιμοποιήσει στον κώδικα (π.χ. .f90, .f77 κτλ. Μην ξεχνάτε την τελεία!)
    3. Επιλέγουμε πού θέλουμε να αποθηκεύσουμε τον κώδικά μας και πατάμε "save". Πλέον το αρχείο αναγνωρίζεται ως αρχείο Fortran και οι εντολές χρωματίζονται κατάλληλα. ΠΡΟΣΟΧΗ! Σε Windows (τουλάχιστον στην έκδοση 7) φαίνεται να υπάρχει κάποιο πρόβλημα κατά το build του προγράμματος, εάν ο κώδικας έχει αποθηκευτεί στο προεπιλεγμένο directory (Geany). Προτιμήστε να αποθηκεύσετε τον κώδικα κάπου αλλού (π.χ. στην επιφάνεια εργασίας/desktop ή σε κάποιον άλλο φάκελο).
  3. Γράφουμε τον κώδικα που θέλουμε.
  4. Πατάμε τα πλήκτρα "Compile, Build" κατά σειρά, ελέγχοντας κάθε φορά εάν υπάρχουν λάθη ή προειδοποιήσεις που πρέπει να διορθώσουμε.
  5. Πατάμε το πλήκτρο "Execute" και εμφανίζεται το γνωστό παράθυρο εντολών όπου εκτελείται το πρόγραμμα που μόλις γράψαμε.
Αποθήκευση αρχείου Fortran
Εκτέλεση Fortran

Απαραίτητες Ρυθμίσεις

Ο GFortran δεν δέχεται ως έγκυρο τον χαρακτήρα "tab" (που προκύπτει πατώντας το πλήκτρο "Tab" στο πληκτρολόγιο) και όπου τον εντοπίζει θα βγάζει Warning. Μάλιστα, συσσώρευση πολλών Warnings του είδους μπορεί να κάνει το Geany να "κολλήσει". Επειδή, ωστόσο, η στοίχιση είναι μια δυνατότητα που θα πρέπει να χρησιμοποιείται στον προγραμματισμό, και το πλήκτρο Tab χρησιμοποιείται ενστικτωδώς από πολλούς, πρέπει να ρυθμίσουμε το Geany έτσι ώστε, αντί για tab characters, να δίνει στη θέση τους κενά (whitespaces).

Για να το ρυθμίσουμε αυτό κάνουμε τα εξής:

  • Από το μενού "Edit" του Geany επιλέγουμε "Preferences"
  • Επιλέγουμε την καρτέλα "Files" στα αριστερά
  • Στην ενότητα "Saving files", "τικάρουμε" το "Replace tabs by space".
Απαραίτητες Ρυθμίσεις

Ενδεχομένως, εάν δεν ρυθμίσουμε το Geany όπως παραπάνω ή, αν ανοίξουμε ένα αρχείο που προέρχεται από άλλον editor (που βάζει tabs) να πάρουμε, κατά το compilation, το εξής μήνυμα λάθους: "Warning: Noncomforming tab character" ή να κολλήσει το Geany λόγω συσσώρευσης πολλών Warnings (για την ακρίβεια, καθυστερεί πολύ το compilation). Για να αντιμετωπίσουμε αυτό το πρόβλημα, από το μενού "Document" του Geany επιλέγουμε "Replace Tabs by Spaces".

Warning και tabs-spaces

Εάν δεν εντοπίζεται ο gfortran σε περιβάλλον Windows (και άρα δεν μπορεί να γίνει compilation), συμβουλευτείτε το σχετικό Troubleshooting.

Άλλες Ρυθμίσεις

Τα παρακάτω είναι πρόσθετες ρυθμίσεις με τις οποίες δεν χρειάζεται να ασχοληθεί κάποιος στην αρχή!

Χρήσιμες είναι και οι ρυθμίσεις που βρίσκονται στην υποκαρτέλα "Indentation" της καρτέλας "Editor". Εκεί, μπορούμε να ορίσουμε π.χ. πόσο δεξιότερα θα μετακινείται το κείμενο πατώντας μια φορά το πλήκτρο Tab. Στη Fortran, συνηθίζεται το "Indentation width" να είναι 8 χαρακτήρες. Χρήσιμες επίσης είναι οι επιλογές στο "Auto-indent mode" (πειραματιστείτε). Στο "Editor>Display" μπορούμε να ρυθμίσουμε το Geany να χρωματίζει τις πολύ εκτενείς γραμμές. By default, ο gfortran "κόβει" μια γραμμή μετά την column 132, αναφέροντας σχετικό σφάλμα. (βλ. option "-ffree-line-length-n")

Μπορούμε, αν θέλουμε, να τροποποιήσουμε το ποια warnings αναφέρει ο compiler, καθώς και άλλα χρήσιμα πράγματα, αλλάζοντας τις ρυθμίσεις με τις οποίες καλείται ο GFortran από το Geany. Έχοντας ανοιχτό ένα αρχείο κώδικα Fortran, μπορούμε να δούμε και να αλλάξουμε τις ρυθμίσεις αυτές ως εξής:

  • Πατάμε το βελάκι που βρίσκεται δίπλα στο κουμπί "Build"
  • Επιλέγουμε "Set Build Menu Commands"

Έχετε αρκετές επιλογές τις οποίες μπορείτε να δείτε εδώ. Πειραματιστείτε! (Τις παραπάνω επιλογές μπορείτε να δείτε ανά πάσα στιγμή γράφοντας σε ένα Linux terminal "man gfortran")

Για παράδειγμα, by default το Geany (κατά το compilation) καλεί τον GFortran με την εντολή " gfortran -Wall -c "%f" ". Δηλαδή, εκτελεί το πρόγραμμα "gfortran" εμφανίζοντας warnings (-Wall), δημιουργώντας ένα νέο object file (-c) και έχοντας ως είσοδο το όνομα του αρχείο που έχουμε ανοιχτό στο Geany ("%f"). Αλλάζοντας αυτήν την εντολή (προσθαφαιρώντας options) αλλάζουμε τη συμπεριφορά του compiler. Αντιστοίχως στο build. Μερικά χρήσιμα options:

  • Εάν θέλετε να γίνεται αναλυτική αναφορά του τύπου "array bounds exceeded" πρέπει να χρησιμοποιήσετε το option "-fcheck=bounds" στο build.
  • Εάν θέλετε να περιορίσετε το πλήθος των λαθών που αναφέρονται (να βλέπετε π.χ. μόνο τα πρώτα 5 λάθη) μπορείτε να χρησιμοποιήσετε το option "-fmax-errors=5" στο compile. Σημειώστε ότι υπερβολικά μεγάλο πλήθος λαθών και warnings μπορεί να κάνει το πρόγραμμα να "κολλήσει" κατά το compilation.
  • Εάν θέλετε να μην "κόβει" ο gfortran τις εκτενείς γραμμές (βλ. σφάλμα "line truncated"), μπορείτε να χρησιμοποιήσετε το option "-ffree-line-length-0"

Προτεινόμενες build commands: Compile: gfortran -Wall -fmax-errors=5 -c "%f" Build: gfortran -Wall -fcheck=bounds -o "%e" "%f"

Πιθανότατα σας ενδιαφέρουν και οι διάφορες ρυθμίσεις εμφάνισης που μπορείτε να βρείτε σε διάφορα σημεία των "Preferences". Γενικώς, όπως συνηθίζεται στο ελεύθερο λογισμικό, παρέχεται πλήθος επιλογών για την παραμετροποίηση τόσο του GFortran όσο και του Geany. Ξεκινήστε από τα βασικά και δοκιμάστε περισσότερα στην πορεία!

Χρήση μέσω του Central CloudFront

Το Geany και ο GFortran είναι εγκατεστημένα στο Cloud του Κέντρου Ηλεκτρονικών Υπολογιστών ΕΜΠ, στην ενότητα "Περιβάλλοντα Προγραμματισμού". Για να γράψετε και να εκτελέσετε κώδικα, απλώς τρέξτε το Geany από εκεί και χρησιμοποιήστε το σαν να το είχατε εγκατεστημένο στον υπολογιστή σας. Σημειώστε οτι δεν χρειάζεται να ορίσετε τις "Απαραίτητες Ρυθμίσεις" καθώς το πρόβλημα φαίνεται να παρακάμπτεται με άλλο τρόπο.

Αναλυτικά για τον προγραμματισμό χρησιμοποιώντας τους compilers που παρέχονται στο Cloud μπορείτε να διαβάσετε στο Wiki του KHY. Στο Cloud θα βρείτε ακόμη και άλλα χρήσιμα προγράμματα (ελεύθερα ή proprietary), όπως π.χ. το Matlab.

Geany στο Cloud

Διαβάστε επίσης