Sie sind auf Seite 1von 15

Einrichtung einer C-Umgebung

Einführung in die Programmierung 1


18. Oktober 2023

1
Inhaltsverzeichnis

1 Einleitung 3

2 Windows Windows 5
2.1 Windows-Subsystem für Linux (WSL) . . . . . . . . . . . . . . . . . . . 5
2.1.1 Installation eines Texteditors . . . . . . . . . . . . . . . . . . . 5
2.1.2 Was ist WSL? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.3 Aktivierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Linux installieren & konfigurieren . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Linux Installation aus dem Microsoft Store . . . . . . . . . . . . 7
2.2.2 Manuelle Linux Installation über die Befehlszeile . . . . . . . . 7
2.2.3 Initialisieren einer neu installierten Distribution . . . . . . . . . 8

3 macOS � 10
3.1 Command Line Tools installieren . . . . . . . . . . . . . . . . . . . . . 10
3.2 Texteditor installieren . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Paketmanager installieren (optional) . . . . . . . . . . . . . . . . . . . 11

4 Linux LINUX 12
4.1 Update Ihrer Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.2 Installation der GCC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 Installation von git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

5 Online-Compiler 13
5.1 replit.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 codetogether.io . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.3 onlinegdb.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Möglichkeiten der Zusammenarbeit 15

2
1 Einleitung

Willkommen zur Einführung in die Programmierung 1.


Diese Veranstaltung führt sie in die Programmierung in C ein. Im Lauf des Semesters
werden Sie lernen, Ihre eigenen Programme zu schreiben und auf einem Computer
auszuführen. Ein wesentlicher Teil der Veranstaltung besteht daher darin, dass Sie selbst
Programmcode schreiben und in ein lauffähiges Programm umwandeln.
Zu diesem Zwecke können Sie entweder die Rechner in den Poolräumen der Mathe-
matik verwenden, oder ihre eigene Hardware. In letzterem Fall ist es notwendif einen
Compiler zu installieren. Außerdem halten wir einen geeigneten Texteditor für hilfreich.
Die Sprache C, die Sie lernen werden, ist eine formale Sprache, in der sich Programme
— eine Abfolge von Anweisungen an den Computer — in einer für Menschen intuitiven
Form formulieren lassen. Damit der Computer damit etwas anfangen kann, ist noch ein
Übersetzungsprogramm, ein sogenannter Compiler, erforderlich, der Ihren Ablaufplan
in Maschinensprache übersetzt, die der Prozessor ausführen kann.
In dieser Veranstaltung nehmen wir an, dass Sie als Compiler gcc oder clang verwen-
den. Es gibt eine ganze Reihe weiterer Compiler. Im Prinzip ergeben alle das gleiche
Programm, denn die Übersetzung von C in Maschinensprache ist ein rein formaler Vor-
gang, alle Übersetzungen machen nachher genau das gleiche. Allerdings unterscheiden
sie sich in manchen Einstellungen, die man an den Compiler übergeben kann, und in
der Form, in der sie Fehler zurückmelden. Bei unseren Erklärungen beziehen wir uns
immer auf die Funktionsweise von gcc und clang (die sich in dem Bereich, den wir
betrachten, identisch verhalten) und können bei Problemen auch nur für diese beiden
Varianten Unterstützung anbieten.
Sowohl gcc als auch clang sind für Linux- oder Unix-Umgebungen entwickelt worden.
Damit stehen sie unter MacOS und Linux direkt zur Verfügung. Unter Windows können
Sie inzwischen leicht eine Linux-Umgebung installieren. Schauen Sie für auf Ihr System
angepasste Hinweise bitte im entsprechenden Kapitel nach.
Wenn sie komplett ohne einen eigenen Compiler arbeiten möchten bzw. müssen,
können sie auch mittels Online-Compiler die Aufgaben lösen. Auch hierzu finden Sie in
diesem Text einen eigenen Abschnitt.
Neben dem Übersetzungsprogramm brauchen Sie noch einen Texteditor, in dem Sie
Ihr Programm schreiben. Hier gibt es große Auswahl. Die einzige Einschränkung ist,
dass der Editor in der Lage sein muss, Text ohne jede Formatierung abspeichern zu
können. Daher sind bekannte Editoren wie Word oder LibreOffice nicht geeignet.
Die meisten Systeme kommen schon mit einem vorinstallierten Texteditor, der for-
matierungsfreien Text speichern kann, z.B. Editor in Windows 10, TextEdit in MacOS
oder gedit und nano in Linux.
Andere Texteditoren bieten jedoch einige nützliche Zusatzfunktionen, so dass es
sinnvoll ist, sich einen weiteren Editor für diese Veranstaltung zu installieren. Wir stellen
Ihnen hier zwei vor, die wir sinnvoll finden und bei denen wir Ihnen bei Problemen

3
helfen können. Diese Editoren z.B. sind in der Lage, in Ihrem Code Schüsselworter
der Sprache zu erkennen und in einer anderen Farbe darzustellen, Codestrukturen zu
erkennen und sinnvolle Vervollständigungen anzuzeigen, und den Code automatisch
strukturiert darzustellen.
• Atom
• Visual Studio Code
Sie können sich natürlich auch selbst umsehen und sich für jeden anderen Texteditor,
oder auch für eine der vielen Entwicklungsumgebungen (wie z.B. Eclipse entscheiden,
und diese benutzen.

Hinweis:
Sie werden in diesem Dokument immer wieder aufgefordert ihrem Betriebssystem
über ein Terminal Anweisungen zu geben. Dabei können sie die Befehle einfach
von diesem Dokument kopieren und dann in ihr/e Terminal/Konsole einfügen.
Für Linux & macOS startet ein Befehl immer nach den folgenden Symbolen: “~$”
Ein typisches Beispiel wäre etwa:

~$ sudo lscpu

Hier sollten sie dann bitte nur “sudo lscpu” in ihr/e Terminal/Konsole kopieren.
Die Eingabeaufforderung “~$” kann auf Ihrem System anders aussehen, z.B. zeigt
sie oft die Zeit oder ein Verzeichnis an.
Für Windows startet ein Befehl immer nach den folgenden Symbolen: “PS C:\>”
Ein typisches Beispiel wäre etwa:

PS C:\> Get-ComputerInfo

Hier sollten sie dann bitte nur “Get-ComputerInfo” in ihr/e Terminal/Konsole


kopieren.

4
2 Windows Windows

2.1 Windows-Subsystem für Linux (WSL)

2.1.1 Installation eines Texteditors


Installieren Sie Visual Studio Code

2.1.2 Was ist WSL?


Das Windows-Subsystem für Linux (WSL) ermöglicht er, native Befehlszeilentools für
Linux direkt unter Windows zusammen mit Ihren traditionellen Desktop- und modernen
Store-Apps auszuführen.

2.1.3 Aktivierung
Aktivieren Sie das optionale Feature “Windows-Subsystem für Linux”. Das kann auf
zwei Arten erfolgen, über die Powershell oder über eine Menüauswahl.

Via Menü Auswahl

• Öffnen Sie die Systemsteuerung indem sie das Startmenü öffnen und dann direkt
auf der Tastatur den Suchbegriff systemsteuerung eingeben (sh. Abbildung 2.1).
• In der Systemsteuerung klicken Sie dann auf das “Programme”.
• Im Menü klicken sie dann bitte auf “Windows-Features aktivieren oder deaktivie-
ren” (sh. Abbildung 2.2).
• Im neuen Menü scrollen sie dann ganz nach unten und setzen den Haken bei
“Windows-Subsystem für Linux” (sh. Abbildung 2.2).
• Starten Sie den Computer neu, wenn Sie dazu aufgefordert werden.

5
Abbildung 2.1: Systemsteuerung aufrufen

Abbildung 2.2: Windows-Subsystem aktivieren

6
Via Powershell

• Öffnen Sie “PowerShell” als Adminis-


trator, indem sie das Startmenü öffnen
und dann direkt auf der Tastatur den
Suchbegriff powershell eingeben. Im
neuen Menü benutzen sie dann bitte
die Variante “Als Administrator aus-
führen”
• In der PowerShell geben sie dann bitte
den unteren Befehl* ein.
• Starten Sie den Computer neu, wenn
Sie dazu aufgefordert werden.
(*: PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux )

2.2 Linux installieren & konfigurieren


Nachdem WSL nun aktiviert ist, müssen sie sich noch eine konkrete Linux Distribution
installieren auf der die C++ Umgebung später laufen soll. Zum Herunterladen und
Installieren Ihrer Distribution haben Sie folgende Möglichkeiten:
1. Herunterladen und Installieren aus dem Microsoft Store (Empfohlene Variante)
2. Manuelles Herunterladen und Installieren über die Befehlszeile bzw. ein Skript

2.2.1 Linux Installation aus dem Microsoft Store


Die Voraussetzung für diese Variante ist, dass ihre Windowsversion mindestens dem
Build 16215 (oder höher) entspricht. (Welche Windows Version habe ich?)
Ist diese Voraussetzung erfüllt, so können Sie die Linux Distribution Ubuntu direkt
über folgenden Link aus dem Microsoft Store installieren:
• Ubuntu 22.04 LTS
Nachdem Sie Ubuntu installiert haben, müssen Sie Ihre neue Linuxinstanz ein Mal
initialisieren, bevor sie verwendet werden kann. Bitte im Kapitel Initialisieren einer neu
installierten Distribution weiter lesen.

2.2.2 Manuelle Linux Installation über die Befehlszeile

Herunterladen der Distribution


Wenn die Installation mittels Microsoft Store nicht verfügbar ist, können Sie die emp-
fohlene Linux-Distribution Ubuntu manuell herunterladen und installieren, indem Sie
auf den folgenden Link klicken:
• Ubuntu 22.04
Speichern Sie die unter dem Link erhätliche .appx-Datei in einem Ordner Ihrer Wahl.

7
Installieren der Distribution
Navigieren Sie als nächstes zu dem Ordner, der die oben heruntergeladene Distribution
enthält, und geben sie in der oberen Navigationsleiste “powershell” ein. Dies öffnet die
PowerShell innerhalb des entsprechenden Ordners.
Führen Sie als nächstes den folgenden Befehl aus, wobei app_name für den Namen
der eben heruntergeladenen APPX-Datei steht:

PS C:\pfad\zur\datei> Add-AppxPackage .\app_name.appx

2.2.3 Initialisieren einer neu installierten Distribution

Erster Start
Um die Initialisierung der neu installierten Distribution abzuschließen, starten Sie
eine neue Instanz. Klicken Sie hierzu in der Microsoft Store-App auf die Schaltfläche
„Starten“, oder starten Sie die Distribution über das Startmenü.

Wenn eine neu installierte Distribution zum ersten Mal ausgeführt wird, wird ein Kon-
solenfenster geöffnet, und Sie werden aufgefordert, bis zum Abschluss der Installation
wenige Minuten zu warten.
In dieser letzten Phase der Installation werden die Dateien der Distribution dekom-
primiert und auf Ihrem PC gespeichert. Sie sind dann einsatzbereit. Dies kann je nach
Leistung der Speichergeräte Ihres PCs etwa eine Minute oder ggf. auch länger dauern.
Diese erste Installationsphase ist nur erforderlich, wenn eine „saubere“ Distribution
installiert wird. Alle zukünftigen Starts sollten weniger als eine Sekunde in Anspruch
nehmen.

Einrichten eines neuen Linux-Benutzerkontos


Nach Abschluss der Installation werden Sie aufgefordert, ein neues Benutzerkonto (und
das zugehörige Kennwort) zu erstellen.

8
Dieses Benutzerkonto gilt für den normalen Benutzer ohne Administratorrechte, als
der Sie beim Starten einer Distribution standardmäßig angemeldet werden.
Sie können einen beliebigen Benutzernamen und ein gewünschtes Kennwort auswäh-
len. Beides hat keinen Einfluss auf Ihren Windows-Benutzernamen.
Hinweis:
Wenn Sie eine neue Distributionsinstanz öffnen, werden Sie nicht zur Eingabe
Ihres Kennworts aufgefordert. Wenn Sie jedoch einen Prozess mit sudo herauf-
stufen, müssen Sie Ihr Kennwort eingeben. Stellen Sie also sicher, dass Sie ein
Kennwort auswählen, das Sie sich leicht merken können.
ACHTUNG: Wenn sie ihr Passwort eingeben, wird dieses auf den Bildschirm nicht
sichtbar!!!

Aktualisieren und Upgraden der Pakete Ihrer Distribution


Springen sie nun bitte in das Kapitel Linux.
Für Interessierte: Vertiefende Tutorials zu WSL

9
3 macOS �

In MacOS ist gcc nicht von Anfang an installiert, die Installation ist aber von Apple
schon soweit vorbereitet, dass es sehr einfach ist.

3.1 Command Line Tools installieren


Die Übersetzung von Programmen von C in Maschinensprache wird meistens durch
sogenannte Kommandozeilenprogramme in einem Terminal vorgenommen. Auch Ihre
eigenen Programme werden Sie in einem Terminal ausführen, da wir keine Programme
mit graphischer Oberfläche erstellen können.
MacOS kommt schon mit einem Terminalprogramm. Sie finden es in im Unterordner
Dienstprogramme (oder Utilities) unter den Anwendungen (oder Applications). Da Sie
das Programm ziemlich oft brauchen, ist es sinnvoll, das Icon ins Dock zu ziehen, damit
Sie es in Zukunft schneller starten können.
Starten Sie nun ein Terminal und geben Sie an der Eingabeaufforderung
xcode-select --install

ein und bestätigen Sie in dem sich öffnenden Fenster mit einem Klick auf Installieren
(oder Install). Links unten bietet Ihnen dieses Auswahlfenster auch die Installation der
Entwicklungsumgebung XCode an. Das ist weder sinnvoll noch hilfreich, Sie sollten sich
auf die Installation der Command Line Tools beschränken.
Schließen Sie nun das aktuelle Terminal und machen sie ein neues auf. Das ist
notwendig, damit Ihr Terminal die neu installierten Programme auch findet, denn die
Installationsorte werden nur einmal beim Start gelesen. An der Eingabeaufforderung
können Sie nun gcc -version eingeben und mit Return bestätigen. Das sollte eine
Ausgabe ähnlich zu der folgenden ergeben.
gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --
with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/
MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 11.0.3 (clang-1103.0.32.62)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Der hier installierte C-Compiler heißt zwar gcc, ist allerdings eigentlich eine von Apple
angepasste Variante des Compilers clang (der nun auch installiert ist, probieren Sie
es aus und ersetzen gcc durch clang in dem Kommando oben). Der Unterschied zum
normalen gcc sollte in dieser Veranstaltung aber nur an sehr wenigen Stellen auffallen.

10
Sie haben auf diese Weise auch gleich git installiert. git ist ein sogenanntes ein
Versionsverwaltungsprogramm, mit dem sich Code zwischen verschiedenen Kopien auf
mehreren Computern (z.B. denen Ihrer Kommilitonen) oder einem zentralen Speicher
austauschen und aktualisieren lässt, bei Bedarf Veränderungen von mehreren Personen
auf Ihren jeweiligen Kopien zusammenführen lässt und das alle Änderungen am Code
abspeichert und bei Bedarf rückgängig machen kann.
Eine Möglichkeit, an einem zentralen Ort Code zu speichern und anderen darauf
Zugriff zu geben und damit die Möglichkeit, an dem Code mitzuarbeiten, bieten die
Plattformen github, gitlab und git.rwth-aachen.de. Die letzte Option wird von der TU
Darmstadt in Kooperation mit der RWTH Aachen betrieben, und Sie können sich dort mit
Ihrer TU-ID anmelden. Da Online-IDEs in der Regel nur mit github zusammenarbeiten
können, stellen wir Code für die Hausaufgaben auf github zur Verfügung.

3.2 Texteditor installieren


Den Texteditor gibt es als vorkompiliertes Programm, dass Sie nur zu Ihren Programmen
(bzw. Applications) ziehen müssen. Gehen Sie dazu auf die Seite von Visual Studio
Code und laden Sie das dmg für Ihre Version von MacOS herunter. Je nach Einstellung
Ihres Browsers öffnet sich direkt ein Fenster, in dem Sie das Programm in den Ordner
Programme ziehen können, oder Sie öffnen den Downloads-Ordner im Finder und
öffnen dort die Datei, die Sie gerade gespeichert haben. Dann bekommen sie ebenfalls
das Fenster, in dem Sie den Editor zu Ihren Programmen ziehen können.
Wie beim Terminal bietet es sich hier an, das Programm anschließend zum Dock
hinzuzufügen, indem sie es vom Ordner Programme ins Dock ziehen.

3.3 Paketmanager installieren (optional)


Es bietet sich für später an, auch direkt einen Paketmanager zu installieren. Am Anfang
kommen wir mit gcc aus, später werden wir aber auch die Bibliothek gmp benutzen,
die Sie sehr einfach über einen Paketmanager installieren können. Es gibt drei weit
verbreitete Paketmanger für MacOS, brew, fink, und MacPorts. Wir beschreiben hier
nur die Verwendung von brew, aber wenn Sie sich schon mit einem anderen auskennen,
können Sie natürlich auch diesen verwenden. Wenn Sie die Seite von brew öffnen,
finden Sie unter Install Homebrew eine Anweisung, mit der Sie brew installieren können.
Kopieren Sie diese Zeile vollständig und führen Sie sie in einem Terminal aus.
Sie werden eine Reihe von Textzeilen sehen, die ihnen erklären, was das Skript instal-
lieren wird. Bestätigen sie dies mit ENTER (mit ESC können sie den Vorgang abbrechen).
Nach der Bestätigung werden sie aufgefordert ihr Passwort einzugeben. Die Installation
startet dann und wird eine Weile dauern. Weitere Hilfe finden Sie auch auf der Seite
von brew. Um zu überprüfen ob die Installation erfolgreich war, können Sie
brew help

eingeben. Sie können auch gleich die Bibliothek gmp installieren. Dafür geben Sie
brew install gmp

ein und bestätigen.

11
4 Linux LINUX

4.1 Update Ihrer Installation


Ubuntu wird mit einem minimalen Paketkatalog ausgeliefert. Es wird dringend emp-
fohlen, den Paketkatalog regelmäßig zu aktualisieren. Unter Ubuntu verwenden ist das
“Advanced Packaging Tool” (APT) verfügbar.
Öffnen Sie dazu das Terminal. Arbeiten Sie auf einem Windows-Subsystem für Win-
dows, so befinden Sie sich sofort nach Öffnen der Anwendung in einem Terminal.
Geben Sie nun folgenden Befehl in das Terminal ein und bestätigen Sie mit Enter,
damit sich ihre Distribution auf den neuesten Stand bringt:
sudo apt update && sudo apt upgrade

Hinweis:
Wenn sie in den Super-User-Modus wechseln (sudo oder su) müssen sie ihr
Passwort eingeben, welches sie während der Installation gesetzt haben.

4.2 Installation der GCC


Die GCC zu installieren ist recht simpel. Öffnen Sie dazu erneut das Terminal und geben
sie folgenden Befehl ein
sudo apt-get install build-essential gdb

Dies installiert auch einige andere für die Softwareentwicklung nützliche Werkzeuge.
Prüfen Sie die Installation mittels
gcc --version

4.3 Installation von git


Git ist eine mächtige Versionsverwaltungssoftware, welche insbesondere die Zusammen-
arbeit vieler Entwickler am selben Projekt ermöglicht. Wir benutzen Git lediglich um
Ihnen für einige Aufgaben Code-Fragmente zur Verfügung zu stellen.
Auch die Installation von git ist sehr einfach. Öffnen Sie das Terminal und führen Sie
sudo apt install git-all

aus. Prüfen Sie die Installation mittels


git --version

12
5 Online-Compiler

Eine Möglichkeit die Aufgaben komplett ohne einen installierten Compiler sondern
100% online zu bearbeiten, ist es entsprechende Compiler im Netz zu benutzen. Wir
empfehlen dies jedoch nur falls Sie keinen Computer zur Verfügung haben, da
• das Testen des geschriebenes Codes auf eigener Hardware deutlich einfacher ist
und
• der Umgang mit den bei der C-Programmierung genutzten Werkzeuge durchaus
zum Lernziel dieser Veranstaltung zählt.
Von diesen Online Compilern gibt sehr viele, wir empfehlen Ihnen
• replit.com,
• codetogether.io,
• onlinegdb.com
Für den ersten müssen Sie sich einen Account auf der Seite erstellen (oder sich mit
einem bestehenden google- oder github-Account anmelden), die anderen beiden können
Sie auch ohne Anmeldung nutzen.
Sie sollten sich bei allen drei allerdings Ihre Programme immer auch lokal abspeichern,
da die Online-IDE Projekte zum Teil nach einigen Tagen automatisch löschen.

5.1 replit.com
replit.com bietet die folgenden Features:
• Import von Code direkt von GitHub
• Simultane Arbeit von mehreren Nutzern am selben Code
• Unterstützung von Projekten aus mehreren Dateien
• Zugang zum Terminal

5.2 codetogether.io
codetogether.io bietet die folgenden Features:
• Import von Code direkt von GitHub
• Simultane Arbeit von mehreren Nutzern am selben Code
• Integration mit Eclipse und VisualStudioCode
• Unterstützung von Projekten aus mehreren Dateien
• Zugang zum Terminal

5.3 onlinegdb.com
onlinegdb.com bietet die folgenden Features:

13
• Import von Code direkt von GitHub
• Simultane Arbeit von mehreren Nutzern am selben Code
• Integrierter Debugger
• Unterstützung von Projekten aus mehreren Dateien
• Zugang zum Terminal

14
6 Möglichkeiten der Zusammenarbeit

Sie können auf verschiedene Weise zusammen mit Ihrer/m Gruppenpartner·in den
gleichen Code berbeiten.
1. Nutzen Sie eine der Online-IDE aus dem vorangegangenen Kapitel. Besonders gut
eignet sich hier codetogether.io, da Sie diese IDE auch aus VisualStudioCode oder
Eclipse heraus verwenden können. Dazu müssen Sie sich in dem Editor nur die
passende Erweiterung installieren (die Sie über die Suche nach codetogether in
den Erweiterungen leicht finden können).
2. Wenn Sie beide mit VisualStudioCode arbeiten, können Sie sich die Erweiterung
Live Share installieren, mit der Sie Ihren Editor mit anderen über das Netz teilen
können.
3. Ein ähnliches Feature bietet Atom mit der Erweiterung Teletype.
4. Sie können sich im gitlab der TU Darmstadt anmeldung und dort ein Projekt für
die Aufgaben anlegen, das Sie dann für Ihre Teampartner freigeben. Damit kann
sich jeder eine lokale Version des Codes holen, und diese regelmäßig mit der
Version im gitlab synchronisieren.
In dieser Variante können Sie unabhängig voneinander am gleichen Code arbeiten.
Sie sollten allerdings darauf achten, dass Sie nicht gleichzeitig an der gleichen
Datei, oder zumindest nicht an nahe beieinanderliegenden Stellen arbeiten, da
gitlab sonst nicht mehr in der Lage ist, Ihre unterschiedlichen Bearbeitungen
korrekt zusammenzuführen.
Ihr Tutor gibt Ihnen bei Bedarf gerne eine kleine Einführung in die Arbeit mit git
und gitlab.

15

Das könnte Ihnen auch gefallen