Πξνγξακκαηηζηηθέο Σερληθέο ΠΕΡΙΕΥΟΜΕΝΑ: Πώρ να κατεβάσετε το Eclipse Εισαγωγή στο Eclipse Ανάπτςξη ππογπάμματορ στο Eclipse Εισαγωγή στο Eclipse ΓΙΑΣΙ ΣΟ ECLIPSE? Τν Eclipse είλαη ην πην ζύγρξνλν θαη εμειηγκέλν Οινθιεξωκέλν Πεξηβάιινλ Αλάπηπμεο (IDE) πξνγξάκκαηνο. Τν Eclipse είλαη ην θύξην πεξηβάιινλ γηα ηελ αλάπηπμε πξνγξακκάησλ ζηε Java θαη απηό ην πεξηβάιινλ πνπ θπξίσο ρξεζηκνπνηείηαη γηα ηελ αλάπηπμε εθαξκνγώλ (applications) γηα ην Android. Σε αληίζεζε κε ην iphone πνπ ρξεζηκνπνηεί ηελ Objective C, νη εθαξκνγέο γηα ην Android γξάθνληαη ζε Java θαη γηα ηελ αλάπηπμε απηώλ ησλ εθαξκνγώλ, ρξεζηκνπνηείηαη ην Eclipse. αλάπηπμε πξνγξακκάησλ ζηε C, ζην εξγαζηήξην. Σθνπόο απηνύ ηνπ νδεγνύ είλαη λα εμεγήζεη πωο κπνξείηε λα θαηεβάζηε θαη λα εγθαηαζηήζεηε ην Eclipse ζηνλ ππνινγηζηή ζαο θαη αθόκα, λα απνηειέζεη κία ρξήζηκε εηζαγωγή ζ απηό ην πεξηβάιινλ, αλαιύνληαο ηηο βαζηθέο ιεηηνπξγίεο ηνπ θαη εμεγώληαο πσο κπνξείηε λα ην ρξεζηκνπνηείηε γηα λα γξάθεηε θαη λα εθηειείηε πξνγξάκκαηα ζηε C, γηα ην εξγαζηήξην. Όκσο, ε δπλαηόηεηα ρξήζεο ηνπ Eclipse δελ πεξηνξίδεηαη ζην εξγαζηήξην. Μαζαίλνληαο λα ρξεζηκνπνηείηε ην Eclipse, ζα έρεηε ηε δπλαηόηεηα λα γξάθεηε πξνγξάκκαηα, ρξεζηκνπνηώληαο έλα Οινθιεξωκέλν Πεξηβάιινλ Αλάπηπμεο (IDE) θαη ζα κπνξείηε λα ρξεζηκνπνηείηε απηό ηα πεξηβάιινλ, γηα πξνγξάκκαηα ζε πνιιέο γιώζζεο θαη γηα δηαθνξεηηθέο εθαξκνγέο. ΠΩ ΝΑ ΚΑΣΕΒΑΕΣΕ ΣΟ ECLIPSE? Πεγαίλεηε ζην eclipse.org download site eclipse.org/downloads θαη επηιέμηε ηελ έθδνζε ηνπ Eclipse γηα C / C++ : Package Eclipse IDE for Java Developers Major Features Java IDE with incremental compilation, cross-referencing, code-assist, and Mylyn task management. Αλ θαη ην Eclipse έρεη ζπλδεζεί κε ηε Java θαη ην Android, ε ρξήζε ηνπ δελ πεξηνξίδεηαη κόλν ζ απηή ηε γιώζζα. Εθηόο από ηε Java, ην Eclipse ρξεζηκνπνηείηαη γηα ηελ αλάπηπμε πξνγξακκάησλ ζε C / C++, Objective C, PHP, Ruby θαη άιιεο γιώζζεο. Επεηδή ην Eclipse είλαη ην πην εμειηγκέλν πεξηβάιινλ αλάπηπμεο ηόζν γηα ηε C / C++, όζν θαη γηα ηε Java, επηρεηξνύκε λα γλσξίζνπκε ηα βαζηθά ραξαθηεξηζηηθά ηεο ιεηηνπξγίαο ηνπ, ώζηε λα ρξεζηκνπνηνύκε απηό ην πεξηβάιινλ, γηα ηελ Eclipse IDE for Java EE Developers Eclipse IDE for C/ C++ Developers Eclipse for RCP/ Plug-In Developers Eclipse Classic Adds JEE validation, app server support, graphical HTML/JSP/JSF editing, and database tools. C/C++ IDE with syntax highlighting and code completion, launcher, debugger, and makefile generator. Java IDE plus the Plug-In Development Environment for creating Eclipse plug-ins and applications. The original Java IDE and Rich Client Platform.
1 Π Ω Ν Α Ε Γ Κ 2
3 4
5 6
7
ΕΓΚΑΣΑΣΑΗ ΣΟΤ MinGW Καηεβάδνληαο ην ζπκπηεζκέλν αξρείν eclipse-cpp-helios.zip ή ην αληίζηνηρν αξρείν από ηελ indigo έθδνζε ηνπ eclipse θαη αλνίγνληαο απηό ην αξρείν, ζ έλα θαηάινγν, έζησ ζην θαηάινγν κε όλνκα Eclipse, ζην ζθιεξό δίζθν C, έρνπκε νινθιεξώζεη ηελ εγθαηάζηαζε ηνπ eclipse, γηα ηελ αλάπηπμε C / C++ πξνγξακκάησλ, ζηνλ ππνινγηζηή καο. Όκσο, πξηλ μεθηλήζνπκε λα γξάθνπκε πξνγξάκκαηα C ζην πεξηβάιινλ ηνπ eclipse, ρξεηάδεηαη λα εγθαηαζηήζνπκε έλαλ compiler (κεηαγιωηηηζηή) ηεο C, ζηνλ ππνινγηζηή καο. Τν eclipse είλαη έλα νινθιεξωκέλν πεξηβάιινλ αλάπηπμεο πξνγξακκάηωλ, όκσο γηα λα κπνξέζεη λα ιεηηνπξγήζεη, ρξεηάδεηαη πξώηα: 1. Να έρνπκε εγθαηαζηήζεη ζηνλ ππνινγηζηή ην Java Runtime Environment (JRE) θαη 2. Να εγθαηαζηήζνπκε έλαλ compiler ηεο C. Γηα ηελ εγθαηάζηαζε ηνπ Java Runtime Environment (JRE), απαηηείηαη κία απιή δηαδηθαζία. Εάλ ζην Google, θάλνπκε αλαδήηεζε γηα download Java, εκθαλίδεηαη ν ζύλδεζκνο Free Java Download, ζηελ ηζηνζειίδα java.com. Εάλ επηιέμνπκε απηό ην ζύλδεζκν, ηόηε νδεγνύκαζηε ζε κία ζειίδα, απ όπνπ κπνξνύκε λα θαηεβάζνπκε θαη λα εγθαηαζηήζνπκε ηε πην πξόζθαηε έθδνζε ηεο Java, επηιέγνληαο ηελ εληνιή download O C compiler πνπ επηιέγνπκε λα εγθαηαζηήζνπκε εάλ δελ ην έρνπκε ήδε θάλεη ζην πιαίζην ηεο εγθαηάζηαζεο ηνπ πεξηβάιινληνο jgrasp είλαη ν MinGW (Minimalist GNU for Windows). Ο πην απιόο ηξόπνο γηα ηελ εγθαηάζηαζε ηνπ MinGW, είλαη λα πάκε ζην site mingw.org Πεγαίλνπκε ζην ρώξν ησλ downloads θαη επηιέγνπκε λα θαηεβάζνπκε ηελ πην πξόζθαηε έθδνζε ηνπ MinGW. Μόιηο νινθιεξσζεί ην θαηέβαζκα ηνπ εθηειέζηκνπ αξρείνπ, θάλνπκε δεμί θιηθ ζ απηό θαη επηιέγνπκε ηελ εληνιή άλνηγκα, γηα λα μεθηλήζνπκε ηελ εγθαηάζηαζε ηνπ MinGW ζηνλ ππνινγηζηή. Μπνξείηε, εάλ ζέιεηε, λα θαηεβάζηε ην εθηειέζηκν αξρείν MinGW.exe, από ην eclass. Πεξηέρεηαη ζην ζπκπηεζκέλν αξρείν mingw-get-inst.rar, ζηνλ ίδην θαηάινγν κε ηελ εμακεληαία άζθεζε θαη απηέο ηηο ζεκεηώζεηο. Καηεβάδεηε / απνζεθεύεηε ην ζπκπηεζκέλν αξρείν mingw-get-inst.rar, ζηνλ ππνινγηζηή ζαο, ην απνζπκπηέδεηε θαη ην εθηειείηε, όπσο ζα εθηεινύζαηε απηό ην αξρείν, εάλ ην θαηεβάδαηε από ην site ηνπ mingw.org. Όηαλ επηιέγνπκε ηελ εθηέιεζε ηνπ εθηειέζηκνπ αξρείνπ mingw.exe, μεθηλάεη ν νδεγόο εγθαηάζηαζεο ηνπ πξνγξάκκαηνο. Αθνινπζνύκε ηα βήκαηα ηεο εγθαηάζηαζεο, πνπ είλαη παξόκνηα κε ηελ εγθαηάζηαζε άιισλ πξνγξακκάησλ θαη πνπ ζπλνπηηθά, παξηζηάλνληαη ζηηο παξαθάησ εηθόλεο. Καηά ηελ εθηέιεζε ηνπ νδεγνύ εγθαηάζηαζεο ηνπ MinGW, ρξεηάδεηαη λα επηζεκαλζνύλ δύν ζεκεία: 1. Όια ηα αξρεία ηνπ MinGW πξέπεη λα απνζεθεπηνύλ ζην θαηάινγν C:\MinGW, ζην ζθιεξό δίζθν C θαη 2. Αλάκεζα ζηα ζηνηρεία ηνπ πξνγξάκκαηνο πνπ ζα εγθαηαζηήζνπκε, πξέπεη απαξαίηεηα λα πεξηιάβνπκε ην MSYS Basic System ή ην MSYS Development Toolkit πνπ πεξηιακβάλεη ην MSYS Basic System.
ΜΙΑ
Control panel System & Security System ΜΙΑ ΡΤΘΜΙΗ & ΕΝΑ ΣΕΛΙΚΟ ΕΛΕΓΥΟ Σ απηό ην ζηάδην, έρνπκε εγθαηαζηήζεη όηη ρξεηάδεηαη γηα ηε ιεηηνπξγία ηνπ eclipse θαη ηελ αλάπηπμε πξνγξακκάησλ C / C++, ζ απηό ην πεξηβάιινλ. Όκσο, απνκέλεη κία ξύζκηζε θαη έλαο ηειηθόο έιεγρνο ηεο εγθαηάζηαζεο ηνπ MinGW, πξηλ αξρίζνπκε λα ρξεζηκνπνηνύκε ην eclipse. Πξνθεηκέλνπ λα κπνξνύκε λα εθηεινύκε πξνγξάκκαηα ζην Eclipse, όπνπ θαη αλ απηά είλαη απνζεθεπκέλα, ρξεηάδεηαη λα θάλνπκε κία ξύζκηζε. Γηα παξάδεηγκα, γηα λα κπνξνύκε λα εθηεινύκε πξνγξάκκαηα ζε C / C++, ζην πεξηβάιινλ eclipse, είηε απηά ηα πξνγξάκκαηα είλαη απνζεθεπκέλα ζηα έγγξαθα, είηε ζηνλ ίδην θαηάινγν πνπ είλαη εγθαηαζηεκέλν ην eclipse ή νπνπδήπνηε αιινύ ζηνλ ππνινγηζηή, ρξεηάδεηαη λα θάλνπκε κία ξύζκηζε. Απηή αθνξά ηελ ηηκή κίαο κεηαβιεηήο ηνπ ζπζηήκαηνο πνπ νλνκάδεηαη path variable. Γηα λα ξπζκίζνπκε ηε ηηκήο απηήο ηεο κεηαβιεηήο εθηεινύκε ηα παξαθάησ βήκαηα: Βήκα 1: Πεγαίλνπκε ζην Πίλαθα Διέγρνπ (Control Panel) Start control Panel Βήκα 2: Επηιέγνπκε ηελ εληνιή ύζηεκα & Αζθάιεηα (System & Security) θαη από ην πιαίζην πνπ αλνίγεη, επηιέγνπκε ηελ εληνιή ύζηεκα Πξηλ αθόκα θάλνπκε ηελ απαηηνύκελε ξύζκηζε, έρνληαο επηιέμεη ηελ εληνιή ύζηεκα (system) ζην control panel, κπνξνύκε λα εμεηάζνπκε όια ηα ραξαθηεξηζηηθά ηνπ ππνινγηζηή. Η εληνιή απηή εκθαλίδεη ραξαθηεξηζηηθά ηνπ ππνινγηζηή, όπσο ην ιεηηνπξγηθό ζύζηεκα πνπ είλαη εγθαηαζηεκέλν ζηνλ ππνινγηζηή, εάλ απηό είλαη 32-bit ή 64-bit, o ηύπνο θαη ε ηαρύηεηα ηνπ επεμεξγαζηή θαη άιια ζηνηρεία. Επηζηξέθνληαο ζηελ απαηηνύκελε ξύζκηζε γηα ηε ιεηηνπξγία ηνπ compiler ηεο C, από ην πιαίζην δηαιόγνπ ηεο εληνιήο ύζηεκα (system γηα ηελ Αγγιηθή έθδνζε ησλ Windows), επηιέγνπκε ηελ εληνιή Advanced system settings System Advanced system settings Σην παξάζπξν πνπ αλνίγεη επηιέγνπκε ηελ εληνιή Environment variables. Τόηε αλνίγεη έλα παξάζπξν κε ηηο κεηαβιεηέο ηνπ ζπζηήκαηνο. Από απηέο ηηο κεηαβιεηέο, επηιέγνπκε ηε κεηαβιεηή path. Εάλ απηή ε κεηαβιεηή δελ είλαη ήδε επηζεκαζκέλε, ηελ επηιέγνπκε θαη παηάκε ηελ εληνιή edit. Τόηε αλνίγεη έλα αθόκα παξάζπξν πνπ απνηειείηαη από δύν πεδία Σην έλα πεδίν είλαη ην όλνκα ηεο κεηαβιεηήο θαη ζην άιιν είλαη ε ηηκή ηεο κεηαβιεηήο Πεγαίλνπκε ζην πεδίν πνπ πεξηέρεη ηε ηηκή ηεο κεηαβιεηήο path. H ηηκή απηήο ηεο κεηαβιεηήο κνηάδεη ζαλ κία δηεύζπλζε (path name). ΓΔΝ ΓΙΑΓΡΑΦΟΤΜΔ ΣΙΠΟΣΑ ΑΠΟ ΣΑ ΠΔΡΙΔΥΟΜΔΝΑ ΑΤΣΟΤ ΣΟΤ ΠΔΓΙΟΤ. Μόλνλ ζην ηέινο απηνύ ηνπ πεδίνπ, πξνζζέζηε: ;C:\MinGW\bin Είλαη ε ηνπνζεζία όπνπ είλαη εγθαηαζηεκέλνο ν MinGW compiler.
ΣΕΛΙΚΟ ΕΛΕΓΥΟ Σ απηό ην ζηάδην, έρνπκε επηηέινπο νινθιεξώζεη ηελ εγθαηάζηαζε ηνπ Eclipse θαη έρνπκε θάλεη ηηο απαξαίηεηεο ξπζκίζεηο, γηα ηε ζσζηή ιεηηνπξγία θαη ηελ εθηέιεζε πξνγξακκάησλ, ζ απηό ην πεξηβάιινλ. Απνκέλεη κόλνλ έλαο ηειηθόο έιεγρνο όηη ε εγθαηάζηαζε ηνπ MinGW έρεη γίλεη ζσζηά. Γηα απηό ην έιεγρν, ρξεηάδεηαη κία αθόκα δνθηκαζία: λα αλνίμνπκε ηε γξακκή εληνιώλ ησλ Windows. γξακκήο εληνιώλ ηα απνηειέζκαηα πνπ παξηζηάλνληαη ζηηο παξαθάησ εηθόλεο. Εάλ δελ εκθαληζηνύλ απηά ηα απνηειέζκαηα, ηόηε ε εγθαηάζηαζε ηνπ MinGW δελ έρεη γίλεη ζωζηά θαη ζα πξέπεη λα ην απεγθαηαζηήζνπκε θαη λα ην εγθαηαζηήζνπκε από ηελ αξρή, αθνινπζώληαο απηή ηε θνξά πξνζεθηηθόηεξα ηηο νδεγίεο ηεο εγθαηάζηαζήο ηνπ. Ειπίδνληαο όκσο όηη όια ζα είλαη ζσζηά, ε δνθηκαζία ηεο εγθαηάζηαζεο ηνπ Eclipse έρεη ηειεηώζεη θαη κπνξνύκε λα γξάςνπκε ην πξώην πξόγξακκα ζηε C, ζ απηό ην πεξηβάιινλ. Γηα λα αλνίμνπκε ηε γξακκή εληνιώλ ηωλ Windows ή πην ζωζηά ηνπ MS-DOS, πεγαίλνπκε ζηε εθθίλεζε θαη επηιέγνπκε ηηο εληνιέο: Start All programs Accessories command Prompt Αλνίγεη ηόηε ε γξακκή εληνιώλ ησλ Windows. Γηα λα βεβαησζνύκε γηα ηελ νξζή εγθαηάζηαζε θαη ιεηηνπξγία ηνπ MinGW, ζηε καύξε νζόλε ηεο γξακκήο εληνιώλ, πιεθηξνινγνύκε πξώηα ηελ εληνιή: >gcc -v θαη κεηά ηελ εληνιή: >make -v Εάλ ε εγθαηάζηαζε ηνπ MinGW έρεη γίλεη ζσζηά, ηόηε αθνύ πιεθηξνινγήζνπκε ηηο παξαπάλσ εληνιέο, ν ππνινγηζηήο ζα πξέπεη λα εκθαλίζεη ζηε καύξε νζόλε ηεο