Περίληψη
Αυτό το μάθημα αφήνει εγκατεστημένο και ελεγμένο το περιβάλλον με το οποίο θα δουλέψουμε σε όλο τον κύκλο μαθημάτων. Εξηγεί πρώτα τι εγκαθίσταται και γιατί: ένας μεταγλωττιστής, που είναι χωριστό πρόγραμμα· ένας επεξεργαστής κειμένου, το Visual Studio Code, που τον καλεί· η επίσημη επέκτασή του για τη C++· και το τερματικό, από το οποίο ο μεταγλωττιστής καλείται χωρίς μεσάζοντες. Προσφέρει έπειτα έναν πλήρη οδηγό για κάθε σύστημα: στα Windows, το MSYS2 με το περιβάλλον UCRT64 και τον GCC, ή εναλλακτικά τον μεταγλωττιστή της Microsoft· στο macOS, τα εργαλεία γραμμής εντολών του Xcode με τον Clang, ή τον GCC του Homebrew αν η έκδοση της Apple δεν αρκεί· στο Linux, τον GCC της διανομής στα Debian και Ubuntu, Fedora και Arch. Ακολουθούν η εγκατάσταση του επεξεργαστή και της επέκτασής του, ίδια στα τρία συστήματα, και η ρύθμιση της κονσόλας των Windows ώστε να γράφει και να διαβάζει κείμενο σε UTF-8. Κλείνει με ένα δοκιμαστικό πρόγραμμα, που γράφει μια γραμμή στα ελληνικά και το πρότυπο της C++ που εφαρμόζει ο μεταγλωττιστής, και με τις συχνές αστοχίες της εγκατάστασης, καθεμία με την αιτία και τη θεραπεία της.
Μαθησιακοί στόχοι
- Να εγκαταστήσουμε στο δικό μας σύστημα έναν μεταγλωττιστή με υποστήριξη της C++23 και να ελέγξουμε την έκδοσή του από το τερματικό.
- Να εγκαταστήσουμε το Visual Studio Code και την επίσημη επέκτασή του για τη C++, και να ανοίξουμε με αυτό έναν φάκελο εργασίας.
- Να μεταγλωττίσουμε και να εκτελέσουμε το πρώτο δοκιμαστικό πρόγραμμα, από το τερματικό και από τον επεξεργαστή κειμένου.
- Να διαγνώσουμε και να επιλύσουμε τουλάχιστον τρεις συχνές αστοχίες της εγκατάστασης (μεταγλωττιστής που δεν βρίσκεται, παλιά έκδοση, πρότυπο που δεν αναγνωρίζεται).
Τι εγκαθίσταται και γιατί
Στο μάθημα Προγράμματα, μεταγλωττιστές και C++ είδαμε ότι ένα πρόγραμμα γραμμένο σε C++ δεν εκτελείται όπως είναι γραμμένο: ένας μεταγλωττιστής το μεταφράζει σε ένα εκτελέσιμο αρχείο, ένα αρχείο με εντολές μηχανής που το λειτουργικό σύστημα μπορεί να θέσει σε λειτουργία. Αν αυτό ισχύει, για να προγραμματίσουμε χρειάζονται τουλάχιστον δύο διαφορετικά πράγματα: ένας τόπος όπου γράφεται το κείμενο του προγράμματος και ένας μεταφραστής που το μετατρέπει σε εκτελέσιμο. Το πρώτο το δίνει ένας επεξεργαστής κειμένου· το δεύτερο, ο μεταγλωττιστής. Είναι χωριστά προγράμματα, που εγκαθίστανται χωριστά και μπορούν να αστοχήσουν χωριστά, και καλό είναι να μην τα συγχέουμε: ο επεξεργαστής δεν μεταγλωττίζει τίποτα, αλλά ζητά από τον μεταγλωττιστή να μεταγλωττίσει και του δείχνει ό,τι εκείνος απαντά.
Αυτός ο διαχωρισμός έχει μια πρακτική συνέπεια από την οποία εξαρτώνται όλοι οι οδηγοί αυτού του μαθήματος. Όταν ο επεξεργαστής «μεταγλωττίζει», στην πραγματικότητα γράφει σε ένα τερματικό μια εντολή όπως η g++ main.cpp -o main, όπως θα μπορούσε να τη γράψει και ο ίδιος ο φοιτητής. Από αυτό έπεται ότι ό,τι κάνει ο επεξεργαστής μπορεί να γίνει και με το χέρι στο τερματικό, το παράθυρο κειμένου όπου γράφονται εντολές για το λειτουργικό σύστημα· και ότι, αν ο επεξεργαστής αστοχήσει, το τερματικό επιτρέπει να εξακριβωθεί αν το ελάττωμα βρίσκεται στον επεξεργαστή ή στον μεταγλωττιστή. Γι' αυτό ο κύκλος δουλεύει και με τα δύο από την πρώτη μέρα: με τον επεξεργαστή για ευκολία, με το τερματικό για να ξέρουμε τι συμβαίνει.
Τα κομμάτια που εγκαθίστανται είναι τέσσερα.
- Ο μεταγλωττιστής, με την πρότυπη βιβλιοθήκη του. Ο κύκλος χρησιμοποιεί το πρότυπο C++23, οπότε ο μεταγλωττιστής πρέπει να το αναγνωρίζει και η βιβλιοθήκη του να περιλαμβάνει την κεφαλίδα
<print>, που παρέχει τηstd::println. Θα χρησιμοποιηθεί ο GCC (του οποίου η εντολή για τη C++ είναι ηg++) στα Windows και στο Linux, και ο Clang (clang++) στο macOS. Χρειάζεται GCC 15 ή νεότερος: η κεφαλίδα<print>έφτασε στη βιβλιοθήκη του GCC με την έκδοση 14, αλλά η εγγραφή μιας ολόκληρης συλλογής με τηstd::println, που ο κύκλος χρησιμοποιεί από το μάθημα Προγράμματα, μεταγλωττιστές και C++ και σε πολλά μεταγενέστερα μαθήματα, μόνο με την 15. Στο macOS, τα εργαλεία του Xcode 16 ή νεότερα. - Ο επεξεργαστής κειμένου: το Visual Studio Code, δωρεάν και το ίδιο πρόγραμμα στα τρία συστήματα, ώστε οι οδηγίες του κύκλου να ισχύουν για όλα.
- Η επίσημη επέκταση C/C++ της Microsoft για το Visual Studio Code, που διδάσκει στον επεξεργαστή τη γλώσσα: χρωματίζει τον κώδικα, επισημαίνει σφάλματα την ώρα που γράφουμε, συμπληρώνει ονόματα και ξέρει να καλεί τον μεταγλωττιστή και τον αποσφαλματωτή.
- Ο αποσφαλματωτής, ο GDB στα Windows και στο Linux, ο LLDB στο macOS: ένα πρόγραμμα που επιτρέπει να σταματήσουμε την εκτέλεση και να δούμε την κατάσταση ενός προγράμματος. Εγκαθίσταται τώρα μαζί με τον μεταγλωττιστή και θα χρησιμοποιηθεί από την ενότητα 4.
Οι οδηγοί που ακολουθούν είναι ανεξάρτητοι: κάθε φοιτητής ακολουθεί αυτόν του συστήματός του και περνά στην παράγραφο για το Visual Studio Code. Στα μπλοκ εντολών, το σύμβολο $ στην αρχή μιας γραμμής αναπαριστά την προτροπή του τερματικού και δεν πληκτρολογείται· οι γραμμές χωρίς αυτό είναι ό,τι απαντά το τερματικό. Οι επίσημοι ιστότοποι που αναφέρονται είναι οι μόνοι από τους οποίους αξίζει να κατεβάζουμε: ένα πρόγραμμα εγκατάστασης που αποκτήθηκε από αλλού μπορεί να είναι ξεπερασμένο ή αλλοιωμένο.
Φόρτωση του περιεχομένου…
Ολοκληρώθηκε
Συνδεθείτε για να αποθηκεύσετε την πρόοδό σας