ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε υπολογιστή του Εργαστηρίου Τεχνολογίας Λογισμικού (www.softlab.ntua.gr) και ένα σε περιβάλλον windows (Dev-C++). Α) Εάν επιλέξετε να δουλέψετε σε UNIX : Για σύνδεση από το σπίτι θα χρειαστείτε το πρόγραμμα putty. Είναι ελεύθερο για download (ένα απλό ψάξιμο στο google θα σας διαφωτίσει σχετικά). Εκτελώντας το πρόγραμμα (δεν απαιτείται εγκατάσταση), συμπληρώνετε μόνο το πεδίο που αναφέρει host με formal.softlab.ece.ntua.gr Εμφανίζεται μία μαύρη οθόνη που σας προτρέπει να κάνετε login Χρησιμοποιείτε τα στοιχεία που έχετε από το εργαστήριο του προηγούμενου εξαμήνου (αν τα έχετε ξεχάσει ή δεν είχατε ποτέ) πρέπει να επικοινωνήσετε με το εργαστήριο softlab) Μετά την επιτυχή σύνδεση, μπορείτε πλέον να συντάξετε τα προγράμματά σας (μέσω του editor vi), να τα μεταγλωτίσετε μέσω του gcc και να τα εκτελέσετε. Πολύ βασικές εντολές (θα σας είναι σίγουρα απαραίτητες στα πλαίσια του εργαστηρίου) : 1. vi myprogramme.c // ξεκινάει ένα αρχείο myprogramme.c στο οποίο γράφω τον πηγαίο κώδικα του προγράμματός μου 2. gcc myprogramme.c o myprogramme // μεταγλωτίζεται το πρόγραμμα που έχουμε γράψει και δημιουργείται ένα εκτελέσιμο με το όνομα myprogramme 3../myprogramme // εκτελώ το προηγούμενο πρόγραμμα Γνωριμία με τον editor vi : Για πολλούς η πρώτη επαφή με τον vi είναι δύσκολη αλλά μετά την εξοικείωσή σας θα καταλάβετε τα πλεονεκτήματά του. Ο vi έχει δύο καταστάσεις λειτουργίας: Κατάσταση εντολών (command mode) και κατάσταση κειµένου (text mode). Όταν ξεκινάμε είμαστε σε κατάσταση εντολών. Σε κατάσταση εντολών, κάθε πλήκτρο είναι και µια από τις εκατοντάδες εντολές του editor για την επεξεργασία του κειμένου μας (διαγραφή, διόρθωση, προσθήκη, αποθήκευση κτλ). Σε κατάσταση κειµένου, μπορούμε και εισάγουμε χαρακτήρες, όπως ακριβώς φαίνονται στο πληκτρολόγιο. Μπορούμε επίσης να χρησιμοποιήσουμε τα space, enter, backspace. Πατώντας το <i> (ή το <a>) περνάµε από κατάσταση εντολών σε κατάσταση κειµένου. Για να περάσουμε σε κατάσταση εντολών, πατάµε το πλήκτρο <Escape> Αν δε θυµόµαστε σε ποια από τις δύο καταστάσεις βρισκόµαστε, πατάµε <Escape> οπότε είµαστε σίγουρα σε κατάσταση εντολών.
Βασικές εντολές vi (όταν βρισκόμαστε σε κατάσταση εντολών) Εντολή Λειτουργία i Πέρασµα σε κατάσταση κειµένου. Το κείµενο θα προστεθεί αµέσως πριν τον τρέχοντα χαρακτήρα a Πέρασµα σε κατάσταση κειµένου. Το κείµενο θα προστεθεί αµέσως µετά τον τρέχοντα χαρακτήρα x Σβήνει τον τρέχοντα χαρακτήρα 2χ Σβήνει 2 χαρακτήρες dd Σβήνει την τρέχουσα γραµµή και την αποθηκεύει σε ένα προσωρινό buffer 3dd Θα σβήσω 3 γραμμές 5dd Θα σβήσω 5 γραμμές κ.ο.κ. yy Αποθηκεύει την τρέχουσα γραµµή σε ένα προσωρινό buffer p Εισάγει το περιεχόµενο του buffer στο κείµενο, µετά το δροµέα P Εισάγει το περιεχόµενο του buffer στο κείµενο, πριν το δροµέα. Επαναλαμβάνει την τελευταία εντολή U Ακυρώνει την τελευταία εντολή ^ ροµέας στον πρώτο µη κενό χαρακτήρα της γραµµής $ ροµέας στο τέλος της γραµµής 0 ροµέας στην αρχή της γραµµής :w (+enter) Αποθηκεύει το κείµενο στο δίσκο µε το τρέχον όνοµα. :w newfile.c (+enter) Αποθηκεύει το αρχείο σε ένα νέο με όνομα <newfile.c> :q (+enter) Βγαίνει από τον editor (πρέπει να έχουµε αποθηκεύσει) :wq (+enter) Συντοµογραφία των :w :q µαζί :q! (+enter) Έξοδος από τον editor χωρίς έλεγχο για αποθήκευση :<x> Πηγαίνει το δροµέα στη γραµµή <x> Φιλικές συμβουλές : Σώζουμε συχνά το αρχείο που δουλεύουμε Προσέχουμε τι πατάμε όταν βρισκόμαστε σε κατάσταση εντολών γιατί μπορεί να έχουμε απρόσμενα αποτελέσματα(όπως θα έχετε καταλάβει σχεδόν κάθε πλήκτρο εκτελεί κάποια εντολή) Βγαίνουμε από τον vi χρησιμοποιώντας τις αντίστοιχες εντολές (και όχι κλείνοντας άτσαλα το παράθυρο) Βασικές εντολές του Unix ls : εμφανίζει τα περιεχόμενα (αρχεία/κατάλογοι) του τρέχοντος καταλόγου. ls l : εμφανίζονται τα περιεχόμενα του τρέχοντος καταλόγου αλλά με περισσότερες λεπτομέρειες. cat myprogramme.c : εμφάνιση του περιεχομένου του αρχείου myprogramme.c pwd : μου εμφανίζει τον τρέχοντα κατάλογο mkdir <name> : δημιουργώ έναν κατάλογο με το όνομα <name> cd <name> : μπαίνω στον κατάλογο <name> cp <file1> <file2> : αντιγράφω το αρχείο <file1> σε ένα νέο <file2> mv <file1> <file2> : αλλάζει το όνομα του αρχείου <file1> σε <file2> mv <file1> <directory> : μεταφέρει το αρχείο <file1> στον κατάλογο <directory> rm <file> : διαγράφει το αρχείο <file> rmdir <directory> : διαγράφει το φάκελο <directory> (εφόσον είναι κενός!)
Β) Εάν επιλέξετε να δουλέψετε σε Windows : Για να δουλέψετε στο σπίτι πρέπει να κατεβάσετε τον dev-c++. Είναι ελέυθερο λογισμικό. (Ένα απλό ψάξιμο στο google θα σας διαφωτίσει σχετικά ενώ το installation είναι απλό). Μετά την εκκίνηση του προγράμματος, πατάτε file new C source file και ξεκινάτε τον editor. Γράφετε τον κώδικα του προγράμματός σας
Σώζετε το αρχείο με file save as : Δίνετε το όνομα του αρχείου Προσοχή! Ο dev-c++ σώζει τα αρχεία ως.cpp (για c++), πρέπει να αλλάξετε από το μενού τον τύπου του αρχείο σε C source file (.c). Για μεταγλώτιση πατάτε execute compile
Εφόσον δεν έχετε λάθη εκτελείτε το πρόγραμμα πατώντας execute run Προσοχή! Αν ακολουθήσετε τα παραπάνω βήματα και δεν δείτε τίποτα από το πρόγραμμά σας είναι γιατί ο dev-c++ εμφανίζει τα αποτελέσματα του προγράμματός μας στο command prompt το οποίο μετά και κλείνει. Για να το αποφύγουμε αυτό, προσθέτουμε την εντολή system( pause ); στο τέλος του σώματος της συνάρτησης main (πριν την return). Οπότε ξανακάνοντας μεταγλώτιση και ξανατρέχοντας (τα δύο τελευταία βήματα), πρέπει να δείτε την εκτέλεση του προγράμματος κάπως έτσι :
Ξανά προσοχή! Αν στο εργαστήριο δουλεύετε σε windows, κάνοντας log-off θα χαθούν όλα τα αρχεία σας, οπότε πρέπει να τα σώζετε κάποιο flash disk ή να τα στέλνετε στο email σας. Καλό και δημιουργικό εργαστήριο!