====== Benötigte Software ====== Zum Programmieren ist grundsätzlich nicht viel Software notwendig. Du brauchst einen Editor, um die Quelltexte einzugeben, und einen Compiler, um den Quelltext für den Computer zu übersetzen. Es ist auch möglich eine Entwicklungsumgebung (auf Englisch: Integrated Development Enviroment, kurz IDE) zu nutzen. Hier arbeiten Editor und Compiler sehr eng zusammen, so dass Fehler direkt in der Entwicklungsumgebung aufgelistet werden und bei manchen sogar grafisch im Text markiert werden. IDEs können Projekte verwalten und vieles mehr. Als Einsteiger ist es allerdings aufwendig ein Projekt anzulegen und zu verwalten, daher rate ich zunächst zur Lösung mit einem einfachen Texteditor und dem Compiler auf der Konsole. {{page>start:edit:list}} ===== Compiler ===== Grundsätzlich wird zum [[http://gcc.gnu.org/|GCC]] geraten, da er auf allen gängigen Plattformen verfügbar ist, von vielen Projekten erfolgreich eingesetzt wird und kein Tutorial alle Compiler abdecken kann. \\ Wir werden uns in diesem Tutorial also ebenso auf den GCC konzentrieren. Grundsätzlich lässt sich gcc aber leicht mit dem clang-Compiler austauschen. Dazu rate ich durchaus auch mal an, da er durch eine moderne Implementierung glänzt und vergleichsweise gut lesbare Fehlermeldungen liefert. Es schadet nicht, den eigenen Code durch mehr als nur einen Compiler zu jagen. Visual C++ ist leider nicht für gut lesbare Fehlermeldungen bekannt, sondern liefert teilweise Fehlermeldungen, die über Recherchen zunächst entschlüsselt werden müssen. Trotzdem entdeckt jeder Compiler unterschiedliche Schwachstellen, denen man sich widmen sollte. ==== Alle Plattformen ==== * [[https://gcc.gnu.org/|GNU Compiler Collection]] (GCC) * [[https://clang.llvm.org/|Clang Compiler]] ==== Linux ==== Der GCC ist für Linux in der Regel die richtige Wahl und ist häufig auch bereits vorinstalliert. Bei einer Minimal-Installation eines Debianderivats muss der [[c:compiler:linux:debiangcc|Compiler nachinstalliert]] werden. Weiterhin gibt es auch hocheffiziente Compiler von [[https://software.intel.com/en-us/c-compilers|Intel]]. ==== MacOS ==== Auf dem Mac muss [[c:compiler:macos|XCode aus dem Appstore]] geladen werden und dort in den Einstellungen die Kommandozeilen Tools nachinstalliert werden. Apple bevorzugt heutzutage clang. ==== Windows ==== Für Windows gibt es [[http://www.mingw.org/|MinGW]] (eine auf Windows portierte Version des GCC) sowie den [[https://software.intel.com/en-us/c-compilers|Intel-Compiler]]. Windows-User sei der Download von [[http://www.codeblocks.org|Code::Blocks]] ans Herz gelegt, der in der MinGW-Version den GCC gleich mitinstalliert. ===== Entwicklungsumgebungen ===== ==== Alle Plattformen ==== * [[http://www.codeblocks.org/|Code::Blocks]] \\ arbeitet mit dem GCC zusammen und installiert ihn auf Windows automatisch (Sofern nicht explizit die Installation ohne GCC ausgewählt wird). Code::Blocks ist eher einfach aufgebaut und für Anfänger gut geeignet. Man kann Code::Blocks aber auch verwenden, um größere Projekte zu verwalten. * [[https://codelite.org/|CodeLite]] \\ CodeLite ist eine OpenSource-C++-Entwicklungsumgebung, ähnlich wie Code::Blocks. * [[https://eclipse.org/|Eclipse]] ist eine mächtige Java-Entwicklungsumgebung, die auch für C/C++ verwendet werden kann. Allerdings benötigt man dafür das [[https://www.eclipse.org/cdt/|Eclipse CDT]] Plugin. ==== Linux ==== * [[https://www.kdevelop.org/|KDevelop]] * [[http://www.anjuta.org/|Anjuta]] Alle Entwicklungsumgebungen, inklusive [[http://www.codeblocks.org/|Code::Blocks]] und [[https://www.eclipse.org/|Eclipse]] sind in der Regel in den Repositories der jeweiligen Distributionen verfügbar und können bzw. sollten daher über den Paketmanager installiert werden. ==== MacOS ==== * [[https://developer.apple.com/xcode/|XCode]] (kostenlose Apple Developer Connection (ADC) Mitgliedschaft erforderlich) ==== Windows ==== * [[https://de.wikipedia.org/wiki/Microsoft_Visual_Studio|Microsoft Visual C++]], als [[https://www.visualstudio.com/de/vs/|Express- bzw. Community-Version]] kostenlos, aber Anmeldung bei MS erforderlich * [[https://www.embarcadero.com/products/cbuilder|C++ Builder]] ====== Entscheidungshilfe ====== Durch die bessere Konsole auf Unixsystemen (wie Linux oder MacOS) fallen die ersten Schritte unter diesen Betriebssystemen meist leichter. Wer auf Linux oder Mac zurückgreifen kann, sollte diese Systeme nutzen. Wer Linux kennenlernen möchte, dem sei Ubuntu Linux ans Herz gelegt. Wer Linux ausprobieren möchte, kann verschiedene Distributionen wie Ubuntu, Knoppix oder Fedora von einer CD oder einem USB-Stick booten, ohne die Festplatte zu verändern. Wer nur Windows verwenden möchte, dem sei sein eigener Wille natürlich auch gegönnt. :-> ---- | [[c:syntax|Syntax]] <- Zurück|Weiter -> [[c:compiler:start|Compiler einrichten]] |