Vorwort | 7 |
Inhaltsverzeichnis | 13 |
I Einstieg in Eclipse und CDT | 23 |
Installation | 25 |
C- und C++-Compiler | 25 |
Das richtige Eclipse-Archiv finden | 26 |
Installation unter Linux | 28 |
Compiler und Tools | 29 |
Java | 29 |
Eclipse | 30 |
Installation unter Windows | 30 |
Compiler und Tools | 30 |
Java | 35 |
Eclipse | 35 |
Die Eclipse.ini-Datei | 36 |
Willkommen | 38 |
Eclipse erweitern | 39 |
CDT nachträglich installieren | 40 |
Update-Sites | 42 |
Features verwalten | 44 |
Die CDT-Features im Detail | 45 |
Eclipse Marketplace | 46 |
p2 | 49 |
Erste Schritte | 51 |
Konzepte des Eclipse-Frameworks | 51 |
Workspace | 51 |
Ressourcen | 52 |
Eclipse-Workbench | 52 |
Menüleiste | 52 |
Werkzeugleiste | 53 |
Statusleiste | 54 |
Editoren und Views | 55 |
Perspektiven | 56 |
Das erste Projekt | 58 |
Eclipse anpassen | 58 |
Vorgehensweise | 60 |
Ein neues Projekt anlegen | 60 |
Die Quelldatei erzeugen | 60 |
Übersetzen | 62 |
Ausführen | 64 |
Programmfehler aufspüren | 64 |
Zusammenfassung und Ausblick | 66 |
Das Eclipse-Hilfesystem | 67 |
Dokumentationsaufbau | 67 |
Hilfefenster | 68 |
Kontextbezogene Hilfe | 70 |
Eclipse über die Tastatur steuern | 71 |
Nützliche Einstellungen | 72 |
Voreinstellungsdialog | 72 |
Hierarchie der Voreinstellungen | 73 |
Allgemeine Workspace-Einstellungen | 74 |
Workspace-Auswahl beim Starten und Beenden | 76 |
Netzwerkeinstellungen | 77 |
Einstellungen für SSH-Client | 77 |
Passwortspeicher | 79 |
Komponenten (de-)aktivieren | 79 |
Die Benutzerschnittstelle anpassen | 80 |
Werkzeug- und Menüleiste anpassen | 81 |
Perspektiven verwalten | 84 |
Tastatursteuerung anpassen | 84 |
Erscheinungsbild | 86 |
Verzeichnislayout auf dem Datenträger | 87 |
Programmverzeichnis | 87 |
Workspace | 89 |
II Entwicklung mit CDT | 91 |
Projekte erstellen und bearbeiten | 93 |
Konzepte von CDT | 94 |
Parser | 94 |
Indexer | 94 |
Piktogramme | 95 |
Kurze Einführung in das Build-System | 96 |
C- oder C++-Projekte erzeugen | 97 |
Projekte anlegen | 98 |
Dateien erzeugen | 101 |
Verzeichnisse hinzufügen | 106 |
Vorhandene Projekte importieren | 107 |
Projekt entfernen | 110 |
Projekttyp ändern | 110 |
Eigenschaften von Ressourcen | 111 |
Projekt: Dirscanner | 113 |
Boost installieren | 114 |
Dirscanner entwickeln | 116 |
Quelltexte bearbeiten | 121 |
Grundsätzlicher Aufbau eines Editorfeldes | 121 |
Textpassagen markieren | 121 |
Quelltext formatieren | 122 |
Editierhilfen | 123 |
Präsentation der Quelltexte | 123 |
Annotationen | 127 |
Code-Analyse | 129 |
Navigation | 131 |
Content-Assistenz | 132 |
Makros untersuchen | 135 |
Suchen und Ersetzen | 137 |
Include-Direktiven organisieren | 140 |
Setters und Getters erzeugen | 142 |
Methode implementieren | 142 |
Kommentare für externe Dokumentationswerkzeuge | 143 |
Bookmarks | 145 |
Makefile | 146 |
Undo/Redo-Funktion | 146 |
Dateienvergleich | 147 |
Zwei Dateien vergleichen | 147 |
Drei Dateien vergleichen | 150 |
Lokale Historie | 150 |
Working-Sets | 151 |
Ein Working-Set erstellen | 152 |
Working-Sets einschalten | 154 |
Workbench-Working-Sets | 154 |
Tasks | 155 |
Tasks hinzufügen | 155 |
Tasks mit Schlüsselwörtern | 156 |
Tasks anzeigen lassen | 156 |
Refactoring | 157 |
Ressourcen umbenennen | 158 |
Bezeichner umbenennen | 158 |
Konstanten extrahieren | 162 |
Lokale Variablen extrahieren | 163 |
Eine Funktion oder Methode extrahieren | 164 |
Funktionsdefinition umplatzieren | 166 |
Methoden verstecken | 166 |
Historie der Refactorings | 167 |
Parser- und Indexerdetails | 168 |
Parser | 168 |
Indexeroptionen anpassen | 170 |
Weitere Indexer-Parameter | 173 |
Indexdatenbank analysieren | 174 |
Probleme mit dem Indexer | 175 |
Nützliche Views der C/C++-Perspektive | 176 |
Outline | 176 |
Include Browser | 177 |
Call Hierarchy | 179 |
Type Hierarchy | 180 |
Navigations-Views | 181 |
Navigator | 182 |
C/C++ Project | 183 |
Project Explorer | 184 |
Ressourcen finden | 185 |
Elemente finden | 185 |
Suchen und Ersetzen | 187 |
File Search | 188 |
C/C++ Search | 189 |
Eine Frage des Stils | 191 |
Allgemeine Einstellungen | 191 |
Quelltextformatierung | 191 |
Quelltextschablonen | 193 |
Namens- und Bezeichnerkonventionen | 194 |
Include-Direktiven organisieren | 195 |
Editorschablonen | 196 |
Projektspezifische Metadateien | 198 |
Metadateien im Projektverzeichnis | 198 |
Metadateien im Workspace-Verzeichnis | 199 |
Der Build-Prozess | 201 |
Builder | 202 |
Die vier Modi eines Builders | 202 |
Builder-Assoziationen | 203 |
Builder-Konfiguration | 204 |
Zwei Builder für C/C++-Projekte | 205 |
Build-Variablen | 206 |
Eigenschaften von Build-Variablen | 206 |
Build-Variablen benutzen | 207 |
Gültigkeitsbereich von Build-Variablen | 207 |
Workspace-weite Build-Variablen definieren | 209 |
Umgebungsvariablen als Build-Variablen | 210 |
Dynamische Build-Variablen | 210 |
Kontrolle über Managed Build | 211 |
Konfigurationen verwalten | 211 |
Quellverzeichnisse | 211 |
Dateien vom Build-Prozess ausschließen | 213 |
Custom Build | 213 |
Einstellungen für C/C++-Projekte | 214 |
C/C++ Build | 215 |
Paths and Symbols | 218 |
Preprocessor Include Paths, Macros | 219 |
Environment | 223 |
Logging | 225 |
Settings | 225 |
Tool Chain Editor | 231 |
Build Variables | 234 |
Einstellungen für Ressourcen | 234 |
Settings | 235 |
Tool Chain Editor | 237 |
Path and Symbols | 238 |
Preprocessor Include Paths, Macros | 238 |
Makefile-Projekte | 239 |
Der Make Targets-View | 239 |
Make Targets hinzufügen | 240 |
Make Targets aufrufen | 241 |
Make Targets entfernen | 241 |
Besonderheiten | 242 |
Compiler-Ausgaben | 242 |
Console | 242 |
Voreinstellungen zur Build-Konsole | 244 |
Wie CDT Kommandoausgaben verarbeitet | 244 |
Error Parser festlegen | 245 |
Übersetzungsfehler finden | 247 |
Fehler filtern | 248 |
Code-Generatoren verwenden | 249 |
Beispiel: mathematische Ausdrücke auswerten | 250 |
Bison installieren | 252 |
Projekt erstellen und Quelltexte einpflegen | 252 |
Einstellungen anpassen | 255 |
Projekt übersetzen und ausführen | 257 |
Als Projekt mit Makefile | 257 |
Fazit | 258 |
Cross-Compiling | 259 |
Cross-Compiling für Make-Projekte | 259 |
Cross-Compiling für Managed Build | 259 |
Beispiel: AmigaOS4 | 260 |
Cross-Compiling-Plugin | 262 |
Remote Compiling | 262 |
Das Programm ssh einrichten | 263 |
Das Dateisystem einrichten | 264 |
Ein Remote-Build-Kommando erstellen | 265 |
Remote Compiling in Eclipse anwenden | 266 |
Microsoft Visual C++ einbinden | 267 |
Visual C++ installieren | 268 |
Das Projekt einrichten | 270 |
Den Build-Prozess anpassen | 271 |
Ausführen und Debugging | 277 |
Programmstartdialoge | 278 |
Main | 280 |
Arguments | 280 |
Environment | 281 |
Common | 281 |
Doxygen einbinden | 283 |
Konfigurationsdatei anlegen | 283 |
Doxygen-Tool einrichten | 284 |
Doxygen aufrufen | 285 |
Die Launch-Konsole | 286 |
Programme debuggen | 287 |
Programme im Debug-Modus starten | 287 |
Debug-Launcher | 288 |
Debugger konfigurieren | 289 |
Debug-Perspektive | 291 |
Quelltexte lokalisieren | 291 |
Der Debug-View | 293 |
Den Programmablauf gezielt unterbrechen | 297 |
Breakpoints-View | 297 |
Zeilen-Breakpoints | 299 |
Funktions-Breakpoints | 300 |
Data-Breakpoints | 301 |
Address-Breakpoints | 302 |
Event-Breakpoints | 302 |
Eigenschaften von Breakpoints | 303 |
Dynamisches Printf | 306 |
Nützliche Views beim Debuggen | 307 |
Variables | 307 |
Expressions | 310 |
Register | 312 |
Disassembly | 313 |
Signale | 314 |
Memory | 315 |
Executables | 318 |
OS Resources | 319 |
Reverse Debugging | 319 |
Reverse Debugging einschalten | 320 |
Kontrollfluss steuern | 320 |
Beispiel: Binäre Suche mit einem Vergleich | 321 |
Unit Testing | 324 |
Boost-Test-Library benutzen | 324 |
Test starten | 326 |
Auf entfernten Rechnern debuggen | 327 |
Tracepoints | 329 |
Tracepoints hinzufügen | 329 |
Tracepoint-Aktionen | 329 |
Traces auswerten | 331 |
Launch Groups | 332 |
III Weitere nützliche Plugins | 335 |
Versionsverwaltung mit EGit | 337 |
Grundlagen | 338 |
Motivation | 338 |
Begriffe | 340 |
Konzepte von Git | 341 |
EGit installieren | 342 |
EGit konfigurieren | 344 |
Die Perspektive Git | 345 |
Bestehende Projekte mit Git assoziieren | 346 |
Ein entferntes Repository klonen | 347 |
Projekt in den Workspace importieren | 349 |
Dekorationen | 350 |
Mit Projekten unter Git arbeiten | 351 |
Versionen vergleichen | 359 |
Änderungsanzeige mit Git | 360 |
Historie | 360 |
Arbeiten mit Entwicklungszweigen | 362 |
Rebase | 366 |
Konflikte lösen | 369 |
Stash | 370 |
Weitere Informationen zu Git | 371 |
Mylyn | 373 |
Mylyn installieren | 374 |
Einführendes Beispiel | 375 |
Konzepte | 378 |
Task Connectors | 379 |
Bugzilla | 379 |
SourceForge | 382 |
GitHub | 385 |
Weitere Konnektoren | 387 |
Target Management | 389 |
Target-Management-Plugin installieren | 389 |
Konzepte | 390 |
Die Perspektive Remote System Explorer | 391 |
Der Remote Systems-View | 392 |
Der Remote Monitor-View | 393 |
Eine neue Verbindung anlegen | 393 |
Die Verbindung aktivieren | 396 |
Durch Ressourcen navigieren | 396 |
Filter und Filterpools erzeugen | 397 |
Profile verwalten | 398 |
Ein Projekt auf den entfernten Rechner exportieren | 399 |
Entfernte Projekte | 399 |
DataStore | 400 |
DataStore auf Linux einrichten | 400 |
DataStore auf Windows einrichten | 401 |
Den entfernten Rechner (fern-)steuern | 401 |
Kommandos aufrufen | 401 |
Terminals | 401 |
Programme auf dem entfernten Rechner ausführen … | 402 |
Programme auf entfernten Rechnern starten | 403 |
Beispiel: Cross-Development für Raspberry Pi | 403 |
Projekt auf dem Pi über Eclipse debuggen | 407 |
Autotools | 409 |
Autotools-Plugin installieren | 409 |
Autotools-Projekt erzeugen | 409 |
Editoren für Autotools-Dateien | 410 |
Autotools-Projekte übersetzen | 411 |
Autotools manuell aufrufen | 411 |
Globale Voreinstellungen | 412 |
Projekteinstellungen | 412 |
Linux-Tools | 413 |
Linux-Tools installieren | 413 |
Valgrind-Plugin | 414 |
Hintergründe | 414 |
Erste Schritte | 415 |
Profiling-Kategorien | 418 |
Andere Valgrind-Tools | 419 |
Valgrind-Tools konfigurieren | 419 |
Heap mit massif analysieren | 420 |
Cache-Zugriffe mit cachegrind ermitteln | 422 |
Profiling mit GProf | 424 |
Docker Tooling | 425 |
Verbindung zur Docker-Instanz einrichten | 426 |
Docker-Images | 427 |
Programm auf Docker-Container ausführen | 428 |
Weitere Plugins | 429 |
Anhang | 431 |
Literaturverzeichnis | 433 |
Glossar | 435 |
Index | 437 |
www.dpunkt.de | 0 |