Eclipse IDE

C/C++ Entwicklungs-Umgebung

Eclipse ist eine Entwicklungs-Umgebung in professioneller Qualität. Mehrere moderne Programmiersprachen und Technologien werden unterstützt, darunter C/C++, Java und Javascript. Eclipse ist ein komplexes Entwicklungs-System mit zahlreichen Modulen. Die hier vorgestellten Optionen sind für alle gängigen Betriebssysteme kostenfrei.
C/C++ Klassiker der modernen Programmiersprachen
Eclipse Professionelle Integrierte Entwicklungs-Umgebung (IDE) für C/C++
Eclipse auf Linux Installation und Konfiguration auf Linux
Eclipse auf Windows Installation und Konfiguration auf Windows
Eclipse Projekt Durchführung eines einfachen aber vollständigen C/C++ Projekts
Verwandte Themen GNU GCC / MinGW-Compiler, Code::Blocks-IDE

Eclipse

Das englische Wort 'eclipse' bedeutet allgemein Verdunkelung oder speziell Sonnenfinsternis - ein ausgefallener Name für ein Projekt. In den Versions-Namen findet man eine gewisse Affinität zur Astronomie.
Das Projekt wurde von IBM als 'Visual Age' zur Programmierung von → Java entwickelt und 2001 als OpenSource Produkt freigegeben. Das Basis-Programm und viele spezialisierte Module sind kostenfrei verfügbar. Auf dieser Seite wird Eclipse als Werkzeug zur Programmierung mit C/C++ vorgestellt. Das ist nur ein kleiner Teil des gesamten Projekts.
Eine Entwicklungs-Umgebung (Integrated Development Environment IDE) wie Eclipse bietet Werkzeuge zur bequemen Bedienung der eigentlichen Entwicklungs-Werkzeuge (z.B. eines C/C++ Compilers) sowie zur Verwaltung und Koordination komplexer Projekte.

Tipp: Für AnfängerInnen sind die komplexen Mögkichkeiten von Eclipse nicht leicht zu überblicken. Probieren sie in diesem Fall → Code::Blocks: Dieses Programm bietet ebenfalls bequeme C/C++ Programmierung, ist jedoch einfacher gehalten und für wenig geübte EntwicklerInnen besser geeignet. Man kann problemlos Eclipse und Code::Blocks am gleichen PC installieren.

Java

Eclipse ist selbst in der Programmiersprache → Java programmiert und benötigt als Grundlage die Installation des Java Runtime Engine JRE, den man für alle gängigen Betriebssysteme kostenfrei aus dem Internet laden kann, z.B. von der deutschen Java-Homepage.
Die Installation von Java ist auf jedem PC empfehlenswert, da viele moderne Programme (z.B. LibreOffice) den JRE als Grundlage verwenden.
Auf Linux ist Java entweder bereits installiert oder mit dem Software-Paket-Manager der jeweiligen Distribution auf Mausklick zu installieren.
Tipp: Auf Windows sollten sie zuerst alle älteren Versionen des JRE de-installieren: Systemsteuerung | Software | Java | Entfernen - Erst danach installieren sie die neue JRE-Version.

Wenn sie planen, früher oder später nicht nur mit → C/C++ sondern auch mit → Java zu entwickeln, dann sollten sie Java nicht in der JRE-Version sondern in der EntwicklerInnen-Version JDK (Java Developer Toolkit) installieren. Der Installer ist kostenfrei, enthält den JRE als Unter-Menge und ist auf einer eigenen EntwicklerInnen-Webseite zu laden. Installieren sie im Zweifel die kleinste und einfachste Version des JDK.
Tipp: Löschen sie vorher auf Windows alle älteren Java-Versionen und konfigurieren sie die → System-Umgebungs-Variablen für die optimale Verwendung von Java.

GNU Compiler

Eclipse enthält keinen Compiler, sondern stützt sich für die Entwicklung mit der Programmiersprache → C/C++ auf ein externes Compiler-Programm, normalerweise auf den meist-verwendeten → GNU-Compiler. Dieser Compiler bietet eine umfangreiche Sammlung von Entwicklungs-Werkzeug, nicht nur für C/C++ (GNU Compiler Collection GCC).

Auf Linux ist der GCC entweder bereits installiert oder mit dem Software-Paket-Manager der jeweiligen Distribution (YAST, Zypper) auf Mausklick zu installieren. Prüfen sie, ob auch das Programm-(Paket) make installiert ist und holen sie das allenfalls nach.
Die umfangreiche Dokumentation erhalten sie an der Linux Shell-Konsole mit
# man gcc
# man make

Der GCC wurde erfolgreich auf Windows portiert und ist als → MinGW (Minimalist GNU for Windows) kostenfrei verfügbar. Die große Zahl von Modulen und Versionen ist zumindest anfänglich verwirrend. Laden sie im Zweifel den automatisierten Installer mingw-get vom MinGW-Web.
Stellen sie sicher, dass ihre Internet-Verbindung funktioniert und starten sie den Installer: Er führt interaktiv und installiert direkt aus dem Internet alle von ihnen angeforderten Komponenten. Darunter muss sich das Basis-System mit C/C++ Compiler gcc befinden sowie das Paket MSYS mit dem Programm make
Tipp: Installieren sie in einem eigenen Verzeichnis (Ordner), z.B. in
C:\Programme\MinGW
Die MinGW-Dokumentation beziehen sie in diesem Fall am besten aus dem Internet.

Details zum GCC / MinGW Compiler

Eclipse auf Linux

Verwenden sie zur Installation von Software oder -Updates auf Linux nur den Software-Paket-Manager ihrer Distribution. Alle gängigen Linux-Distributionen enthalten ein derartiges Programm (z.B. Ubuntu Software Center, OpenSuSE YAST, ...). Der Paket-Manager ladet das zu ihrem System passende Paket inkl. aller dazu notwendigen Bibliotheken und installiert es - normalerweise sauber, problemlos und so gebrauchsfertig wie möglich.
Nur in seltenen Fällen muss man ein Software-Paket selbst laden und installieren, allerdings kann man es auf Linux oft auch selbst 'nach Maß' compilieren.

Java

Auf den meisten Linux-Distributionen ist Java bereits installiert. Kontrollieren sie das mit dem Software-Paket-Manager ihrer Distribution.

Falls nicht vorhanden, installieren sie mit dem Software-Paket-Manager das Paket Java Runtime Engine (JRE) oder - wenn sie auch mit der Programmiersprache Java entwickeln wollen - das Paket Java Developer Kit (JDK).

Compiler

Auf vielen Linux-Systemen ist bereits ein C/C++ Compiler installiert.
Suchen und installieren sie vor Eclipse einen C/C++ Compiler (normalerweise das Paket → GCC Compiler) und (falls nicht im Compiler-Paket enthalten) das Paket make

Kontrollieren sie die Installation, z.B. mit der Anweisung zur Ausgabe der Versionen an einer Shell-Konsole (Gnome-Terminal):
# gcc -v
# make -v

Eclipse

Suchen und installieren sie das oder die Eclipse-Paket(e), mindestens jene für die Entwicklung von C/C++, in der Praxis meist auch jenes zur Java-Entwicklung.

Man kann die Eclipse-Pakete notfalls auch manuell laden und installieren, das sollte jedoch die Ausnahme sein, wenn der Software-Paket-Manager nicht funktioniert wie erwartet.

Eclipse auf Windows

Java

De-Installieren sie allenfalls vorhandene Java-Versionen mit Systemsteuerung | Software | Java | Entfernen
Laden sie aus dem Internet (kostenfrei) die neueste Version des Java Runtime Engine (JRE) oder (wenn sie auch mit der Programmiersprache Java entwickeln wollen) den Java Developer Kit (JDK).

Installieren sie den JRE oder den JDK. Der JDK erfordert nach Installation die Konfiguration der Windows Umgebungs-Variablen PATH, CLASSPATH (→ Java auf Windows).

Compiler

Installieren sie die → MinGW-Version der → GNU Compiler Collection (GCC), am besten mit Hilfe des halbautomatischen Installer-Programms mingw-get-inst-*.exe

Konfigurieren sie danach die Windows-Umgebungsvariable Path (→ Details) und kontrollieren sie die korrekte Einstellung.

Arbeits-Verzeichnis

Richten sie vor der Installation von Eclipse ein Arbeits-Verzeichnis (Workspace) ein, d.h. einen Ordner zur Verwaltung ihrer C/C++ Projekte.
Wenig empfehlenswert sind komplizierte Pfade oder solche, die Leerzeichen oder Sonderzeichen im Namen haben, z.B.
C:\Dokumente und Einstellungen\...
Besser ist ein einfacher, rasch zu findender Pfad, z.B.
C:\CPP

Eclipse

Laden sie vom Eclipse-Web die C/C++ Entwicklungs-Version, z.B. eclipse-cpp-*-win32.zip
Entpacken sie das Archiv und verschieben sie es an einen passenden Pfad, z.B.
C:\Programme\Eclipse
Damit ist die Installation abgeschlossen.
Wenn sie alle vorbereitenden Schritte richtig durchgeführt haben, dann erkennt Eclipse beim Start alle benötigten Komponenten und ist sofort arbeitsbereit.
Wenn sie nach dem Start Fragen bzw. Fehlermeldungen erhalten, dann lesen sie diese genau und versuchen sie, die Probleme sinngemäß zu beheben.

Eclipse Projekt

Dieses Kapitel beschreibt die Herstellung eines winzigen, jedoch funktionsfähigen C/C++ Programms mit Eclipse. Da C/C++ AnfängerInnen meist auf Windows arbeiten, wird das Beispiel mit Windows vorgestellt. Fortgeschrittene EntwickelrInnen arbeiten meist auf Linux und brauchen diese Einführung ohnehin nicht, oder können die Angaben sinngemäß auf Linux anwenden.

Start-Verknüpfung

Es ist bequem, zum Start von Eclipse auf ein Desktop-Icon zu klicken oder das Start-Menü zu verwenden.
Öffnen sie das Programm-Verzeichnis von Eclipse und suchen sie das Programm, z.B.
C:\Programme\Eclipse\eclipse.exe
Ziehen sie das Programm-Icon mit gedrückter rechter Maustaste auf den Desktop und verwenden sie dabei das Menü Verknüpfung hier erstellen.
Ändern sie den Namen der Verknüpfung (Alias, SoftLink) auf Eclipse

Öffnen sie das Verzeichnis des Start-Menüs
C:\Dokumente und Einstellungen\All Users\Startmenü\Programme
Kopieren sie das Alias vom Desktop in ein passendes Unterverzeichnis, z.B. ...\Programme\Entwicklung\Eclipse
Danach können sie Eclipse bequem starten.

WorkBench

Beim ersten Start von Eclipse erhalten sie meist ein Fenster zur ersten Orientierung. (Welcome).
Sie können alle Optionen ausprobieren. Die eigentliche Arbeit beginnt mit einem Klick auf das WorkBench-Icon (rechts).

(Nur) Beim ersten Start erscheint meist ein Dialog mit der Frage nach dem ArbeitsVerzeichnis (Workspace). Geben sie den für ihre C/C++ Projekte angelegten Pfad an, z.B.
C:\CPP

Wenn das Workbench-Icon nicht angezeigt wird, dann ist wahrscheinlich der → Compiler nicht installiert oder nicht sauber konfiguriert.

Bei jedem weiteren Start wird Eclipse direkt mit der WorkBench geöffnet. So können sie jederzeit wieder das Start-Fenster anzeigen:
Menü Help | Welcome

Der Arbeitstisch (WorkBench) ist die von Eclipse gebotene C/C++ Entwicklungs-Umgebung. Das Fenster ist relativ komplex und enthält mehrere Sub-Fenster, Icons und Menüs.

Eclipse bietet noch weitere Ansichten (Perspectives) zusätzlich zur Workbench. Um zur Workbench zurückzukehren, verwenden sie das Menü Window | Open Perspective | C/C++

Project

Starten sie ein neues C-Projekt mit Klick auf das Icon New oder Menü File | New | C Project
Das Fenter C-Project führt schrittweise durch die Konfiguration ihres Projekts:

(1) C-Project
Geben sie einen Projekt-Namen in das Feld Project Name ein. Der Name sollte kurz und prägnant sein. Am besten ist ein Wort ohne Leerzeichen und unbedingt (!) ohne Sonderzeichen (Umlaute, Interpunktionen, Klammern...), z.B. EclipseTest
Dieser Name wird hier für alle weiteren Beispiele verwendet.
Markieren sie das Kästchen Use default location. In diesem Fall wird ihr Projekt im dazu vorgesehenen Workspace-Verzeichnis verwaltet.
Wählen sie Project type = Executable | Hello World ANSI C Project
Wählen sie Toolchain = MinGW GCC
Klicken sie Next

(2) Basic Settings
Tragen sie passende Texte in die 4 Felder ein.
Ändern sie mindestens den Greeting Text, damit sie später die korrekte Funktion des Programms eindeutig erkennen können. Der Wert des letzten Feldes Source = src bleibt am besten unverändert.
Klicken sie Next

(3) Select Configurations
Sie können zwei verschiedene Versionen ihres Programms herstellen:
Die Debug-Version bietet einige Möglichkeiten zur Analyse, ist jedoch größer und langsamer.
Die Release-Version ist die endgültige Version nach Abschluss der Entwicklung.
Klicken sie Select all und danach Finish

Nun ist ihr Projekt angelegt und bereit zur Entwicklung (Programmierung) am Arbeitstisch (Workbench)

Orientierung

Im Fenster der Workbench wird links der Project Explorer mit allen momentan bearbeiteten Projekten angezeigt. Man kann jedes Projekt mit Klick auf die + Zeichen expandieren, um die Details anzuzeigen.
Expandieren sie das Projekt EclipseTest und markieren sie die Quelltext-Datei EclipseTest | src | EclipseTest.c
Spätestens jetzt sollte der C-Quelltext im HauptFenster angezeigt werden.

In der Mitte der Workbench wird das Hauptfenster mit dem Namen der Quelltext-Datei angezeigt. Das Mini-Programm enthält 3 Teile:
Der /* Kommentar */ ist zwischen die Zeichen /*...*/ eingebettet und wird vom Compiler ignoriert. Hier (am Beginn der Datei) wird das Programm dokumentiert. Weitere Kommentare können folgen, wenn das sinnvoll ist.

Alle mit einem # Zeichen beginnenden Anweisungen sind Compiler-Direktiven: Sie teilen dem Compiler-Programm mit, wie es zu arbeiten hat. In einfachen Fällen bezeichnen diese Direktiven, welche C-Bibliotheken zu verwenden sind, z.B.
#include <stdio.h> 

Danach folgt das 'Hauptprogramm' main() in der Programmiersprache C. Das Mini-Programm besteht nur aus 2 Anweisungen:
Die Befehle printf() oder puts() schreiben den angegebenen Text als Ausgabe an die Konsole.
Die Anweisung return gibt einen Erfolgs-Code an das aufrufende Programm weiter - in diesem Fall an die Konsole cmd.exe. Ein Wert von 0 oder EXIT_SUCCESS signalisiert die erfolgreiche Ausführung.

Am unteren Rand der Workbench sind mehrere Fenster als Register untergebracht:
Problems, Tasks, Console, Properties

Das Register Problems zeigt Fehler-Meldungen an. Wenn alles funktioniert, ist es leer bzw. wird es gelöscht.

Das Register Console zeigt ein Konsolen-Fenster wie cmd.exe, jedoch in einem für Windows-AnwenderInnen ungewohnten Layout (schwarz auf weiss).

In diesem Zustand der Workbench wird ein einfaches C-Programm entwickelt. Man durchläuft meist mehrere Zyklen der Arbeiten Programmieren - Compilieren - Testen
Es ist keine Schande sondern ganz normal, wenn sie anfangs zahlreiche Fehler-Meldungen erhalten, und es mehrere Versuche erfordert, bis das erste Programm so funktioniert wie erwartet. Mit zunehmender Erfahrung werden sie schneller programmieren, weniger Fehler machen und diese rascher finden.

Compilieren

Wenn sie glauben, dass ihr Quelltext fehlerfrei sein könnte, dann lassen sie ihn vom Compiler-Programm in Maschinensprache übersetzen = compilieren.
Verwenden sie dazu das Icon mit dem Hammer (Build Debug) oder das Menü Project | Build all

Kontrollieren sie die beiden Register Problems und Console am unteren Rand der Workbench:
Register Problems zeigt alle Fehlermeldungen. Nur die erste Meldung ist wichtig, alle weiteren können Folge-Fehler des ersten sein. Ein leeres Register Problems bedeutet fehlerfreie Übersetzung.
Register Console zeigt die verwendete Anweisung für das Compiler-Programm, z.B.
gcc -o EclipseTest.exe src\EclipseTest.o

Eine fehlerfreie Compilierung ist zwar ein wichtiger Schritt, bedeutet jedoch nur, dass ihr Quelltext in Maschinensprache übersetzt werden konnte.
Erst die Ausführung (nächster ↓ Absatz) zeigt, ob das Programm auch so arbeitet wie erwartet.

Ausführen

Wenn ein C-Quelltext feherfrei in Maschinensprache übersetzt (compiliert) wurde, dann kann man das erzeugte Programm (Binary) ausführen - an einem Windows System die Programm-Datei *.exe, in diesem Beispiel EclipseTest.exe

Verwenden sie dazu das grüne Icon mit dem RechtsPfeil (Run) oder das Menü Run | Run
Register Console zeigt das Ergebnis, d.h. den Ausgabe-Text ihres Programms.

Auswildern

Wenn ihr Programm so ausgeführt wurde wie erwartet, dann ist es fertiggestellt und man kann es aus dem Projekt in die reale Welt entlassen. Dazu müssen sie die Programm-Datei *.exe finden. Sie befindet sich im Workspace | Projekt, z.B.
C:\CPP\EclipseText\Release\EclipseTest.exe

Kopieren sie diese Datei, z.B. nach
C:\Programme\MeineProgramme\EclipseTest.exe
Öffnen sie eine Konsole cmd.exe und starten sie das Programm:
C:\> EclipseTest
Wenn ihre Entwicklungs-Umgebung sauber konfiguriert wurde, dann sollte ihr Programm so ablaufen wie erwartet.

Wenn die Systemvariablen nicht optimal eingestellt sind, dann erfordert das mehr Aufwand:
Sie müssen evtl. an den Pfad ihres Priogramms navigieren, z.B.
C:\> cd Programme
C:\Programme> cd MeineProgramme
C:\Programme\MeineProgramme\> EclipseTest
oder sie geben in der Befehlszeile den gesamten Pfad an, z.B.
C:\> C:\Programme\MeineProgramme\EclipseTest.exe

Wenn ihr Programm auch außerhalb der Entwicklungs-Umgebung unter realen Bedingungen funktioniert, dann können sie es weitergeben und auch an anderen PC des gleichen Betriebssystems verwenden.

Andere Betriebssysteme

Wenn ihr Programm an einem Betriebssystem funktioniert (z.B. Windows), dann können sie weitere Versionen für andere Systeme erzeugen (z.B. für Linux).

Kopieren sie den Quelltext (eine Text-Datei *.c) auf den Linux-PC. Dort muss ebenfalls eine Entwicklungs-Umgebung eingerichtet sein, allerdings genügt an jedem weiteren Betriebssystem ein einfacher Compiler, z.B. das Konsolen-Programm → GCC

Wenn ihr Quelltext sauber programmiert war, dann funktioniert die Übersetzung (Compilieren) auch an jedem anderen Betriebssystem problemlos. Die erzeugten Programme sind auf PC des jeweiligen Systems verwendbar, in diesem Beispiel wird z.B. das ausführbare Linux-Programm EclipseTest oder EclipseTest.bin erzeugt. Man kann das fertige Programm an allen Linux-PC verwenden.

Probleme können sich ergeben, wenn sie zur Programmierung System-spezifische Komponenten verwenden, wie z.B. die Windows-Registry, die es auf Linux nicht gibt, oder in seltenen Fällen, wenn die Versionen der System-Bibliotheken zwischen Compiler-PC und Anwendungs-PC nicht miteinander kompatibel sind.

Das zuletzt erwähnte Problem kann man ausschließen, wenn man nicht nur selbst entwickelte sondern auch größere Anwendungs-Programme am eigenen (Linux)-PC aus dem Quelltext compiliert: In diesem Fall passt das fertige Programm (Binary) genau zu allen Komponenten des eigenen Betriebssystems. Unabhängig davon kann man dem Compiler meist besondere Wünsche angeben, um ein Programm 'nach Maß' herzustellen. Das klingt für Windows-AnwenderInnen exotisch, ist aber für fortgeschrittene Linux-AnwenderInnen durchaus üblich.

CGI-Programme

Neben der Konsole gibt es ein weiteres wichtiges Arbeits-Gebiet für C/C++ Programme des einfachen Typs 'Konsolen-Programm', nämlich als Webserver-Hilfsprogramm (→ CGI-Programm).

Als Text-Ausgabe sollte das Programm → HTML-Quelltext erzeugen, d.h. ein C-Programm erzeugt in diesem Fall Live ein HTML-'Programm'.

Der vom Programm erzeugte Ausgabe-HTML-Text wird in diesem Fall nicht in einem Konsolen-Fenster angezeigt, sondern an ein → Webserver-Programm weitergegeben, und von diesem an einen Browser.
Der Browser erhält vom Webserver den HTML-Quelltext und erzeugt daraus eine Webseite.

Der Sinn dieser Programm-Kette liegt darin, dass die Webseite für jede einzelne Browser-Anfrage Live erzeugt wird, und daher auf Anforderungen des Clients ebenso reagieren kann wie auf beliebige andere variable Bedingungen.