Visual C Express - Οδηγός Χρήσης

Σχετικά έγγραφα
Κάνουμε κλικ ςτθν επιλογι του οριηόντιου μενοφ «Get Skype»για να κατεβάςουμε ςτον υπολογιςτι μασ το πρόγραμμα του Skype.

Modellus 4.01 Συ ντομοσ Οδηγο σ

ΑΛΕΞΑΝΔΡΕΙΟ ΣΕΙ ΘΕΑΛΟΝΙΚΗ ΣΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗ Σ.Ε. ΜΑΘΗΜΑ : ΑΛΓΟΡΙΘΜΙΚΗ ΚΑΙ ΠΡΟΓΡΑΜΜΑΣΙΜΟ ΔΙΔΑΚΩΝ : ΓΟΤΛΙΑΝΑ ΚΩΣΑ

Πωσ δθμιουργώ φακζλουσ;

Joomla! - User Guide

Διαδικαςία Διαχείριςθσ Στθλϊν Βιβλίου Εςόδων - Εξόδων. (v.1.0.7)

Οδηγίεσ για τη ςφνδεςη του υπολογιςτή ςασ ςτουσ προβολείσ των αιθουςών Ι 1, Ι 2, Ι 3 και του 10 ου ορόφου

1. Κατέβαςμα του VirtueMart

Ηλεκτρονικι Επιχειρθςιακι Δράςθ Εργαςτιριο 1

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

16. Πίνακεσ και Συναρτήςεισ

DIOSCOURIDES VERSION

1 Εγκατϊςταςη λογαριαςμού

Seventron Limited. Οδηγίες χρήσης EnglishOnlineTests.com

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Εθνικό Τυπογραφείο)

ΟΔΗΓΙΕΣ ΔΗΜΙΟΥΡΓΙΑΣ ΚΑΙ ΡΥΘΜΙΣΗΣ ΔΩΡΕΑΝ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΧΥΔΡΟΜΕΙΟΥ ΣΤΟ YAHOO

Διαχείριςη Αριθμοδεικτών (v.1.0.7)

Εφδοξοσ+ Συνδεκείτε ςτθν Εφαρμογι Φοιτθτϊν και μεταβείτε ςτθ ςελίδα «Ανταλλαγι Βιβλίων (Εφδοξοσ+)».

Δείκτεσ Διαχείριςθ Μνιμθσ. Βαγγζλθσ Οικονόμου Διάλεξθ 8

5 ΜΕΘΟΔΟΙ - ΠΑΡΑΜΕΤΡΟΙ

Τυπικζσ Γλϊςςεσ Περιγραφισ Υλικοφ Εργαςτιριο 2

ΟΝΟΜΑΣΟΛΟΓΙΑ ΠΑΡΑΜΕΣΡΩΝ ΓΙΑ ΠΡΟΑΡΜΟΜΕΝΕ ΑΝΑΦΟΡΕ. παραμζτρου> (Εμφανίηεται ςαν Caption ςτθν φόρμα των φίλτρων).

Σύ ντομος Οδηγο ς χρη σης wikidot για τα projects

ΟΔΗΓΙΕ ΔΗΜΙΟΤΡΓΙΑ ΚΑΙ ΡΤΘΜΙΗ ΔΩΡΕΑΝ ΗΛΕΚΣΡΟΝΙΚΟΤ ΣΑΧΤΔΡΟΜΕΙΟΤ ΣΟ GOOGLE (G-MAIL)

Εγχειρίδιο Χρήςησ Support

ΛΕΙΣΟΤΡΓΙΚΆ ΤΣΉΜΑΣΑ. 2 ο Εργαςτιριο Διαχείριςθ Διεργαςιϊν

SingularLogic Application. Παραμετροποίηση Galaxy Application Server

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο τησ Αριθμογραμμήσ

Οδηγίεσ προσ τουσ εκπαιδευτικοφσ για το μοντζλο του Άβακα

Virtualization. Στο ςυγκεκριμζνο οδηγό, θα παρουςιαςτεί η ικανότητα δοκιμήσ τησ διανομήσ Ubuntu 9.04, χωρίσ την ανάγκη του format.

GNSS Solutions guide. 1. Create new Project

ΗΛΕΚΣΡΟΝΙΚΗ ΤΠΗΡΕΙΑ ΑΠΟΚΣΗΗ ΑΚΑΔΗΜΑΪΚΗ ΣΑΤΣΟΣΗΣΑ

Πρόςβαςη και δήλωςη μαθημάτων ςτον Εφδοξο

Megatron ERP Βάςη δεδομζνων Π/Φ - κατηγοριοποίηςη Databox

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΗ ΗΛΕΚΣΡΟΝΙΚΟΤ ΤΣΗΜΑΣΟ ΑΡΧΑΙΡΕΙΩΝ

Αυτόματη δημιουργία στηλών Αντιστοίχηση νέων λογαριασμών ΦΠΑ

Εφαρμογή. «Βελτιώνω την πόλη μου» Αιτήματα Ρολιτών. Εγχειρίδιο χρήςησ για τον πολίτη

ΡΟΓΑΜΜΑΤΙΣΤΙΚΟ ΡΕΙΒΑΛΛΟΝ MICRO WORLDS PRO

Λειτουργικά υςτιματα Windows XP

Είςοδοσ/Εγγραφή ςτη διαχειριςτική ςελίδα του Σχολείου

ΕΡΓΑΣΗΡΙΑΚΗ ΑΚΗΗ 4.1

ΛΕΙΤΟΥΓΙΚΆ ΣΥΣΤΉΜΑΤΑ. 5 ο Εργαςτιριο Ειςαγωγι ςτθ Γραμμι Εντολϊν

ΕΦΑΡΜΟΓΕ ΒΑΕΩΝ ΔΕΔΟΜΕΝΩΝ ΣΗ ΝΟΗΛΕΤΣΙΚΗ. Φιλιοποφλου Ειρινθ

SingularLogic Galaxy. Οδηγίες εγκαηάζηαζης Galaxy

1. Εγκατάςταςη κειμενογράφου JCE

Εγχειρίδιο Χρήςησ Προςωποποιημζνων Υπηρεςιών Γ.Ε.ΜΗ. (Περιφέρειες)

Εργαςτιριο Πικανοτιτων Σθμειϊςεισ προγραμματιςμοφ: βαςικζσ γνϊςεισ ανάπτυξθσ εφαρμογϊν. Κϊςτασ Αρβανιτάκθσ

wertyuiopasdfghjklzxcvbnmqwertyui pasdfghjklzxcvbnmqwertyuiopasdfgh klzxcvbnmqwertyuiopasdfghjklzxcvb yuiopasdfghjklzxcvbnmqwertyuiopas

17. Πολυδιάςτατοι πίνακεσ

Διαχείριςθ του φακζλου "public_html" ςτο ΠΣΔ

Οδηγίες Πρόζβαζης ζηο EndNote Web. Πρόζβαζη ζηο EndNote Web

Interactive Physics Σύ ντομος Οδηγο ς

Σφςτημα Κεντρικήσ Υποςτήριξησ τησ Πρακτικήσ Άςκηςησ Φοιτητών ΑΕΙ

Διαδικασία με βήματα. 1. Αλλάηω το χρϊμα ςκθνικοφ ςε γκρι(#3333).

Ειςαγωγι ςτθν Επιςτιμθ Υπολογιςτϊν. Ειςαγωγι ςτθν Python

The Weather Experts Team. Φεβρουάριοσ 2013

Οδθγίεσ εγκατάςταςθσ και ρυκμίςεισ του ηυγοφ DIGI SM100

Οδθγόσ εγκατάςταςθσ προγραμμάτων για ανάπτυξθ εφαρμογών ςε iphone

ΟΔΗΓΙΕ ΓΙΑ ΣΙ ΑΠΟΓΡΑΦΕ

ΟΔΗΓΙΕ ΓΙΑ ΣΗΝ ΕΙΑΓΩΓΗ ΕΚΔΡΟΜΩΝ & ΝΕΩΝ - ΑΝΑΚΟΙΝΩΕΩΝ ΣΗΝ ΙΣΟΕΛΙΔΑ ΣΗ Δ.Δ.Ε. ΘΕΠΡΩΣΙΑ

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 6: Το γραφικό περιβάλλον Επικοινωνίασ (Γ.Π.Ε)

ΕΠΑΝΕΚΔΟΗ ΣΙΜΟΛΟΓΙΩΝ ΙΑΝΟΤΑΡΙΟΤ (version )

ΕΡΓΑΣΗΡΙΟ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ

Διδάςκων: Κωνςταντίνοσ τεφανίδθσ

Ειςαγωγι ςτο Δομθμζνο Προγραμματιςμό. Βαγγζλθσ Οικονόμου

Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων. 15. Πίνακεσ ΙI. Ιωάννθσ Κατάκθσ. ΕΠΛ 032: Προγραμματιςμόσ Μεκόδων Επίλυςθσ Προβλθμάτων

Γίνετε μζλοσ τθσ ομάδασ Panoramio του

ΔΙΑΔΙΚΑΙΑ ΚΑΙ ΡΤΘΜΙΕΙ ΓΙΑ ΤΝΔΕΗ ΣΟ INTRANET ΣΟΤ ΕΚΕΣΑ-ΙΣΧΗΔ

Ένα πρόβλθμα γραμμικοφ προγραμματιςμοφ βρίςκεται ςτθν κανονικι μορφι όταν:

Ηλεκτρονικι Υπθρεςία Ολοκλθρωμζνθσ Διαχείριςθσ Συγγραμμάτων και Λοιπϊν Βοθκθμάτων

ΧΡΗΙΜΟΠΟΙΩΝΣΑ ΣΟ VISUAL HISTORY ARCHIVE

Σ ΤΑΤ Ι Σ Τ Ι Κ Η. Statisticum collegium V

assessment.gr USER S MANUAL (users)

TIM Εικονικό Περιβάλλον Συνεργασίας Οδθγίεσ Χριςθσ

Εγχειρίδιο Χριςθσ τθσ διαδικτυακισ εφαρμογισ «Υποβολι και παρακολοφκθςθ τθσ ζγκριςθσ Εκπαιδευτικών Πακζτων»

w e b t r a i l s. g r Η ΛΕΙΣΟΤΡΓΙΚΟΣΗΣΑ ΣΟΤ ΙΣΟΣΟΠΟΤ J24CLASS.GR

ΕΦΑΡΜΟΓΖσ ΒΆΕΩΝ ΔΕΔΟΜΖΝΩΝ ΚΑΙ ΔΙΑΔΙΚΣΥΟΤ. Ειρινθ Φιλιοποφλου

Διαχείριςη Εκπαιδευτικού Υλικού (ΠΑΚΕ) Πληροφοριακό Σύςτημα (MIS)

ΡΥΘΜΙΕΙ για περιοριςμένο χρήςτη (limited user)

Διαδικασία Δημιοσργίας Ειδικών Λογαριασμών. (v.1.0.7)

Σφντομεσ Οδθγίεσ Χριςθσ

Εγχειρίδιο Χρήςησ Αυτοματοποίηςησ Κυκλώματοσ Πληρωμών ΟΛΠ μζςω e-banking VERSION <Final>

eorder Eγχειρίδιο Χρήσης

Σχεδίαςη Σφγχρονων Ακολουθιακών Κυκλωμάτων

Οδηγίεσ για την Τποβολή Καταςτάςεων υμφωνητικών μζςω xml αρχείου

Περιοριςμοί μιασ Β.Δ. ςτθν Access(1/3)

ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΗ. του ΙΑΣΡΟΦΑΡΜΑΚΕΤΣΙΚΟΤ ΦΑΚΕΛΟΤ ΑΘΕΝΩΝ Για τον ΟΙΚΟ ΝΑΤΣΟΤ ΕΡΓΑΣΗΡΙΑΚΟΙ ΓΙΑΣΡΟΙ. iknowhow Πληροφορική A.E

Οδηγύεσ Εφαρμογόσ Ηλεκτρονικόσ Κοςτολόγηςησ

ΕΓΧΕΙΡΙΔΙΟ ΕΓΚΑΣΑΣΑΗ ΠΛΑΣΦΟΡΜΑ TUBE

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΚΑΤΑΧΩΗΣΗ ΣΧΕΔΙΩΝ ΚΑΙΝΟΤΟΜΙΑΣ ΑΡΟ ΦΟΕΙΣ ΚΑΙΝΟΤΟΜΙΑΣ

Εγχειρίδιο Χριςθσ: Εφαρμογι Αιτιςεων για τα Εκπαιδευτικά Προγράμματα του Προςωπικοφ των Επιχειριςεων Τροφίμων

= = 124

ΕΝΟΤΗΤΑ 2: ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ. ΚΕΦΑΛΑΙΟ 5: Γνωριμία με το λογιςμικό του υπολογιςτι

Εγχειρίδιο: Honeybee Small

Σμιμα Marketing & Sales

Η γλώςςα προγραμματιςμού C

Οδηγίες αναβάθμισης χαρτών

Σύντομος Οδηγός Χρήσης της web εφαρμογής ΠΥΑΝΕΑ. 1 ο Βή μα

ΕΝΟΣΗΣΑ 1: ΓΝΩΡIΖΩ ΣΟΝ ΤΠΟΛΟΓΙΣΗ. ΚΕΦΑΛΑΙΟ 3: Εργονομία

1. Διαχείριςη ενθεμάτων

Transcript:

Visual C++ 2008 Express - Οδηγός Χρήσης Ζερβός Μιχάλης, Πρίντεζης Νίκος Σκοπόσ του οδθγοφ αυτοφ είναι να παρουςιάςει τισ βαςικζσ δυνατότθτεσ του Visual C++ 2008 Express Edition και πωσ μπορεί να χρθςιμοποιθκεί αυτό για τθν ανάπτυξθ μιασ εφαρμογισ ςε γλϊςςα C / C++

Visual C++ 2008 Express Οδθγόσ χριςθσ Ειςαγωγι Ο οδθγόσ αυτόσ απευκφνεται ςε αρχάριουσ ςτον προγραμματιςμό, κακϊσ επίςθσ και ςε όςουσ προγραμματίηουν ςε κάποιον άλλο editor ι IDE (Integrated Development Environment). Το Visual C++ 2008 Express, αποτελεί ζνα ολοκλθρωμζνο περιβάλλον για: ςυγγραφι κϊδικα ςε C/C++ μεταγλϊττιςθ debugging Σε αυτόν τον οδθγό κα καλφψουμε και τα 3 αυτά ςθμεία μζςα από παραδείγματα και screenshots. Ασ το δοφμε όμωσ ςτθν πράξθ Δθμιουργία Project Προςκικθ αρχείων Μόλισ ανοίξετε το Visual C++ 2008 Express, κα δείτε τθν αρχικι οκόνθ. Για τθν δθμιουργία νζου C/C++ project πθγαίνετε: File New Project όπωσ φαίνεται ςτθν εικόνα 1. Εικόνα 1 - Νζο project Στθν ςυνζχεια κα εμφανιςτεί το παράκυρο για να επιλζξετε τον τφπο του καινοφριου project. C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 2

Πθγαίνετε: Win32 Win32 Console Application και ςτθν ςυνζχεια ειςάγετε ζνα όνομα για το project, πχ MyFirstCProject. Εικόνα 2 - Επιλογι είδουσ project Μόλισ πατιςετε ΟΚ κα εμφανιςτεί το Win32 Application Wizard για να ορίςτε κάποιεσ αρχικζσ ρυκμίςεισ του project. Πατιςτε Next, και ςτο Application Settings βεβαιωκείτε ότι ζχετε επιλεγμζνο το Empty Project όπωσ φαίνεται ςτθν εικόνα 3 και πατιςτε Finish. Εικόνα 3 - Empty project C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 3

Σε αυτό το ςθμείο το project ζχει δθμιουργθκεί και είμαςτε ζτοιμοι να προςκζςουμε αρχεία. Στο αριςτερό μζροσ τθσ οκόνθσ κα δείτε τον Solution Explorer. Εκεί υπάρχουν όλα τα αρχεία του project χωριςμζνα ςε κατθγορίεσ (Source Files, Header Files, Resource Files). Για να προςκζςετε ζνα καινοφριο αρχείο.c κάντε δεξί κλικ ςτο Source Files και μετά Add New Item (εικόνα 4). Αντίςτοιχα, αν κζλαμε να προςκζςουμε ζνα header αρχείο κα κάναμε το ίδιο ςτθν κατθγορία Header Files. Εικόνα 4 - Προςκικθ νζου αρχείου Μόλισ το κάνουμε αυτό κα εμφανιςτεί ζνα παράκυρο για τθν επιλογι του τφπου αρχείου. Διαλζξτε C++ αρχείο και δϊςτε του ζνα όνομα, πχ main.c Στο ςυγκεκριμζνο παράδειγμα κα δθμιουργιςουμε ζνα πρόγραμμα C, οπότε χρθςιμοποιοφμε τθν κατάλθξθ.c για το αρχείο. Αν το project μασ είναι ςε C++, αφινουμε τθν default(.cpp) κατάλθξθ ςτο αρχείο. Εικόνα 5 - Νζο αρχείο C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 4

Συγγραφι κώδικα Αφοφ προςκζςαμε και ζνα αρχείο ςτο project, ασ προχωριςουμε να δοφμε τον editor. Γράψτε τθν παρακάτω ςυνάρτθςθ θ οποία υπολογίηει αν ζνασ αρικμόσ είναι πρϊτοσ. int IsPrimeNumber(int num) { int i; } for (i = 2; i < num; i++) { if (num % i == 0) return 0; } return 1; Εικόνα 6 - Συνάρτθςθ IsPrimeNumber Ασ δθμιουργιςουμε τϊρα τθν main που κα εκτυπϊνει όλουσ τουσ πρϊτουσ αρικμοφσ από το 5 μζχρι το 15. Θα δοφμε ζνα πάρα πολφ χριςιμο χαρακτθριςτικό του Visual C++ 2008, το IntelliSense. Πρόκειται για μια υλοποίθςθ auto-completion ενςωματωμζνθ ςτο IDE που δίνει επίςθσ πλθροφορίεσ για μεταβλθτζσ και ςυναρτιςεισ. Ζτςι δεν χρειάηεται να ψάχνετε όλεσ τισ ςυναρτιςεισ που μπορεί να ζχετε γράψει ςε πολλά αρχεία ι τι παραμζτρουσ παίρνει και τι τφπο επιςτρζφει θ κάκε μία. Μπορείτε ανά πάςα ςτιγμι να πατιςετε ctrl + space και να εμφανιςτεί θ λίςτα με τισ επιλογζσ. Όπωσ φαίνεται ςτθν εικόνα 7α, όταν πλθκτρολογιςετε το γράμμα i και πατιςτε ctrl+space εμφανίηεται το παράκυρο του IntelliSense και γριγορα μπορεί να επιλεγεί θ ςυνάρτθςθ IsPrimeNumber που χρειάηεςτε. Ακόμα, μόλισ ςυμπλθρωκεί το όνομα τθσ, εμφανίηετε ζνα μινυμα με τισ πλθροφορίεσ για τισ παραμζτρουσ τισ και τον τφπο που επιςτρζφει (εικόνα 7β). To IntelliSense εμφανίηεται αυτόματα όταν πατιςουμε τθν τελεία (. ) μετά από το όνομα μιασ μεταβλθτισ που είναι struct ι μετά το όνομα ενόσ αντικειμζνου (αν γράφουμε C++). Σε αυτι τθν περίπτωςθ μασ δίνει όλεσ τισ διακζςιμεσ μεταβλθτζσ και μεκόδουσ που μποροφμε να χρθςιμοποιιςουμε για αυτό το stuct ι το αντικείμενο. C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 5

Εικόνα 7 - (α) IntelliSense auto-completion (β) Πλθροφορίεσ ςυνάρτθςθσ Πριν προχωριςουμε ςτθν εκτζλεςθ του προγράμματοσ ασ δοφμε λίγεσ περιςςότερεσ δυνατότθτεσ του Visual C++ 2008 Express Edition που διευκολφνουν πολφ τθν ςυγγραφι κϊδικα. Ζςτω ότι ζχουμε ζνα πιο ςφνκετο project, τθν υλοποίθςθ μιασ κλάςθσ Stack ςε C++. Το project αποτελείται απ τα αρχεία Stack.cpp, Stack.h και main.cpp. Πρϊτα απ όλα ασ δοφμε πωσ λειτουργεί το IntelliSense όταν πρόκειται για αντικείμενα μιασ κλάςθσ (όπωσ περιγράψαμε παραπάνω). Όταν δθμιουργιςουμε ζνα αντικείμενο s τφπου Stack όπωσ φαίνεται παρακάτω (εικόνα 8) και πλθκτρολογιςουμε s. κα εμφανιςτεί το παράκυρο του IntelliSense με τισ διακζςιμεσ μεκόδουσ και μεταβλθτζσ για αυτό. Εικόνα 8 - IntelliSense ςε αντικείμενα C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 6

Ζνα ακόμα χαρακτθριςτικό που είναι ιδιαίτερα χριςιμο όταν γράφουμε μεγάλα αρχεία κϊδικα είναι θ λίςτα με τισ ςυναρτιςεισ (εικόνα 9) που υπάρχουν ςτο αρχείο. Μζςω αυτισ μποροφμε να μετακινθκοφμε ςε μια ςυνάρτθςθ χωρίσ να χρειάηεται να ψάχνουμε όλο τον κϊδικα ι να κάνουμε Search. Εικόνα 9 - Λίςτα ςυναρτιςεων/μεκόδων Compile και εκτζλεςθ Ασ επιςτρζψουμε ςτο προθγοφμενο παράδειγμα με τουσ πρϊτουσ αρικμοφσ για να δοφμε τθν διαδικαςία τθσ μεταγλϊττιςθσ και εκτζλεςθσ του προγράμματοσ. Ο ολοκλθρωμζνοσ κϊδικασ τθσ main φαίνεται ςτθν εικόνα 10: int main(int argc, char *argv) { int i; } for (i = 5; i < 15; i++) { if (IsPrimeNumber(i)) printf("%d\n", i); } getchar(); Εικόνα 10 - Kώδικασ main Για να δοκιμάςετε το πρόγραμμα αρκεί να πατιςτε F5, το οποίο είναι ζνα shortcut για το Debug Start Debugging. Τθν πρϊτθ φορά που κα το πατιςετε (κακϊσ και κάκε φορά που το πατάτε μετά από κάποια αλλαγι ςτον κϊδικα) κα εμφανίηετε ζνα παράκυρο που ηθτάει να κάνει πρϊτα compile το πρόγραμμα. Πατιςτε Yes. Αν θ μεταγλϊττιςθ ιταν επιτυχισ τότε κα εκτελεςτεί το πρόγραμμα ςασ και κα δείτε ζνα αντίςτοιχο αποτζλεςμα με αυτό τθσ εικόνασ 11. C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 7

Εικόνα 11 - Εκτζλεςθ προγράμματοσ Σε περίπτωςθ που κζλετε απλά να κάνετε compile το πρόγραμμα ςασ, μπορείτε να πατιςετε F7 (ι Build Build Solution). Όλα τα μθνφματα που ζβγαλε ο compiler, όπωσ πικανά errors ι warnings, φαίνονται ςτο παράκυρο output ςτο κάτω μζροσ του προγράμματοσ (εικόνα 12). Δοκιμάςτε εςκεμμζνα να κάνετε ζνα λάκοσ όπωσ φαίνεται ςτθν εικόνα 12, για να δείτε το αντίςτοιχο μινυμα. Με διπλό κλικ πάνω ςτο μινυμα (κίτρινο ςτθν φωτογραφία) μεταφζρετε αυτόματα ο cursor ςτθν γραμμι που ζγινε το λάκοσ. Εικόνα 12 - Λάκοσ ςτθν μεταγλώττιςθ Debugging Θ διαδικαςία του debugging ςτο Visual C++ 2008 Express Edition είναι εξαιρετικά απλι. Ζςτω ότι ςτθν ςυνάρτθςθ IsPrimeNumber ζχουμε κάνει το εξισ λάκοσ: for (i = 0; i < 15; i++) δθλαδι ξεκινάμε το i από 0 αντί για το 2, κάτι το οποίο κα προκαλζςει ςτθν ςυνζχεια μια διαίρεςθ με το 0. Πατιςτε F5 για να ξεκινιςει το debug και κα δείτε το εξισ μινυμα (εικόνα 13) που ενθμερϊνει για τθν διαίρεςθ με το 0. Πατϊντασ Break θ εκτζλεςθ του C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 8

προγράμματοσ ςταματάει προςωρινά ςτθν γραμμι που υπάρχει το λάκοσ και φαίνεται με το κίτρινο βζλοσ. Εικόνα 13 - Διαίρεςθ με το 0 Όταν θ εκτζλεςθ βρίςκεται ςε κατάςταςθ break (όπωσ ζγινε παραπάνω ι με τον τρόπο που κα περιγράψουμε αμζςωσ μετά), μπορείτε να δείτε και να μεταβάλλετε τισ τιμζσ όλων των μεταβλθτϊν που βρίςκονται ςτο scope που είναι και θ γραμμι ςτθν οποία ζχει ςταματιςει θ εκτζλεςθ. Στο κάτω αριςτερό μζροσ του προγράμματοσ μπορείτε να δείτε το παράκυρο που φαίνεται και ςτθν παρακάτω εικόνα (14). Εκεί μπορείτε να κάνετε οποιαδιποτε αλλαγι ςτισ τιμζσ των μεταβλθτϊν πριν ςυνεχιςτεί θ εκτζλεςθ του προγράμματοσ. Αλλάξτε λοιπόν τθν τιμι του i ςε 2 και πατιςτε F5 ( ι από το menu: Debug Continue, ι πατιςτε το πράςινο βελάκι που υπάρχει ςτο πάνω μζροσ του προγράμματοσ) για να ςυνεχίςει θ εκτζλεςθ του προγράμματοσ με τθν καινοφρια τιμι για το i. Εικόνα 14 - Μεταβλθτζσ Breakpoints Όπωσ είναι αναμενόμενο, εκτόσ από το να ςταματάει το πρόγραμμα όταν εμφανίηεται κάποιο λάκοσ, υπάρχει τρόποσ να ςταματιςουμε τθν εκτζλεςθ του ςε όποια γραμμι κζλουμε. Ζτςι μποροφμε να δοφμε τισ τιμζσ των μεταβλθτϊν ανά πάςα ςτιγμι και να γλυτϊςουμε πολφ χρόνο απ το debugging. Για να το κάνουμε αυτό αρκεί να τοποκετιςουμε breakpoints ςτισ γραμμζσ που κζλουμε και θ εκτζλεςθ του προγράμματοσ κα ςταματιςει (break) ακριβϊσ πριν εκτελεςτεί θ γραμμι του κϊδικα. Θ τοποκζτθςθ του C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 9

breakpoint γίνεται πατϊντασ αριςτερά από τθν γραμμι κϊδικα που κζλουμε ςτο ςθμείο που φαίνεται με τον κόκκινο κφκλο ςτθν εικόνα 15 (ζχουμε διορκϊςει το i=2). Εικόνα 15 - Τοποκζτθςθ breakpoint Τοποκετιςτε ζνα breakpoint ςτο ςθμείο που φαίνεται και ξεκινιςτε το debug του προγράμματοσ (F5). Θα παρατθριςετε ότι θ εκτζλεςθ κα ςταματιςει ςτο ςθμείο αυτό και μπορείτε όπωσ και πριν να δείτε ι να αλλάξετε τισ τιμζσ των μεταβλθτϊν. Σημείωςη: Το πρόγραμμα ςταματάει πριν εκτελεςτεί η γραμμή που έχει το breakpoint. Η εκτέλεςη τησ γίνεται αφοφ ςυνεχίςετε το πρόγραμμα. Λόγω του ότι το breakpoint είναι μζςα ςε μια for, το πρόγραμμα κα ςταματιςει πολλζσ φορζσ ςε αυτό το ςθμείο για κάκε κλιςθ τθσ isprimenumber. Αν εςείσ κζλετε να ςταματάει θ εκτζλεςθ μόνο κάποιεσ φορζσ, π.χ. όταν το num είναι μεγαλφτερο από 8, μπορείτε να κάνετε δεξί click ςτο breakpoint Condition και ςτθν ςυνζχεια να ειςάγετε τθν ςυνκικθ που πρζπει να ιςχφει ϊςτε να ςταματιςει το πρόγραμμα ςε αυτό το breakpoint (πχ num > 8 για το παράδειγμα μασ). Εικόνα 16 - Breakpoint Condition (a) Μενοφ ειςαγωγισ (b) Συνκικθ Υπάρχουν πολλζσ ακόμα επιλογζσ, όπωσ μπορείτε να δείτε από το μενοφ, για το πότε και αν κα ςταματάει ζνα breakpoint για τθν διευκόλυνςθ του debugging. Εκτελζςτε τϊρα (F5) το πρόγραμμα με το καινοφριο breakpoint και παρατθριςτε ότι όταν ςταματιςει θ εκτζλεςθ, θ τιμι του num είναι 9. Δεν ςταμάτθςε δθλαδι για τισ κλιςεισ τισ ςυνάρτθςθσ με num = 5, 6, 7, 8. C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 10

Όταν το πρόγραμμα βρίςκεται ςε κατάςταςθ break, εκτόσ από τισ τιμζσ των μεταβλθτϊν, μποροφμε να δοφμε και διάφορεσ άλλεσ πλθροφορίεσ όπωσ οι διάφορεσ βιβλιοκικεσ που ζχει φορτϊςει για να εκτελεςτεί, τα threads, κλπ. Αυτζσ τισ πλθροφορίεσ υπάρχουν ςτα tabs: Threads και Modules του παρακφρου που περιζχει και τισ τιμζσ των μεταβλθτϊν. Το πιο ενδιαφζρον και χριςιμο, τισ περιςςότερεσ φορζσ, tab από αυτά είναι το Call Stack. Εκεί μποροφμε να δοφμε τθν ςειρά των κλιςεων των ςυναρτιςεων, με τισ παραμζτρουσ τουσ, μζχρι τθν τρζχουςα. Για απλά προγράμματα, όπωσ αυτό του υπολογιςμοφ των πρϊτων αρικμϊν, αυτό δεν ζχει μεγάλθ ςθμαςία κακϊσ ζχουμε μόνο μια ςυνάρτθςθ. Σε μεγαλφτερα projects όμωσ, με πολλζσ κλάςεισ και μεκόδουσ, μποροφμε να εντοπίςουμε τυχόν προβλιματα. Στο τωρινό παράδειγμα, κρατιςτε το προθγοφμενο breakpoint και ξεκινιςτε πάλι τθν εκτζλεςθ με F5. Μόλισ το πρόγραμμα ςταματιςει μπορείτε να δείτε (εικόνα 17) ςτο κάτω δεξί μζροσ το Call Stack. Φαίνεται ότι από τθν γραμμι 22 τθσ main ζχει κλθκεί θ IsPrimeNumber με παράμετρο num=9. Θ ςειρά των ςυναρτιςεων είναι από τθν τελευταία προσ τθν πρϊτθ, όπωσ δθλαδι περιμζνουμε ςε ζνα Stack. Εικόνα 17 - Call Stack Επικοινωνία με τουσ ςυγγραφείσ Ζερβόσ Μιχάλθσ, Microsoft Student Partner Email: m.zervos@live.com Blog: http://www.studentguru.gr/blogs/jupiter/ Twitter: http://twitter.com/mzervos Πρίντεηθσ Νίκοσ, Microsoft Student Partner Email: solidus5000@hotmail.com Blog: http://www.studentguru.gr/blogs/solidus Twitter: http://twitter.com/solidus5000 Ο οδθγόσ διατίκεται δωρεάν για μθ-εμπορικι αξιοποίθςθ. C o p y r i g h t 2 0 0 9 - Η ε ρ β όσ, Πρί ν τ ε η θ σ Σ ελί δ α 11