C-Kurs/Compiler, Präprozessor, Header Files: Unterschied zwischen den Versionen
< C-Kurs
(Die Seite wurde neu angelegt: „#Schreibe ein Hello-World-Programm. Kompiliere und teste es. #Sieh dir den Präprozessor-Output an. #Unterteile das Programm in 3 Dateien main.c, hello.c und bye....“) |
|||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
#Schreibe ein Hello-World-Programm. Kompiliere und teste es. | #Schreibe ein Hello-World-Programm. Kompiliere und teste es. | ||
#Sieh dir den Präprozessor-Output an. | #Sieh dir den Präprozessor-Output an. | ||
− | #Unterteile das Programm in 3 Dateien main.c, hello.c und bye.c. In hello.c und bye.c, definiere eine Funktion die einen Namen als char-Pointer übergeben bekommt, und | + | #Unterteile das Programm in 3 Dateien main.c, hello.c und bye.c. In hello.c und bye.c, definiere eine Funktion die einen Namen als char-Pointer übergeben bekommt, und jeweils "Hello, <name>!" bzw "Bye, <name>!" auf dem Bildschirm ausgibt. In der main-Funktion der Datei main.c, rufe diese Funktionen hintereinander auf. Kompiliere und teste das Programm. |
#Kompiliere die 3 Programme separat, einmal mit und ohne die -c Option. Was passiert? Wie kannst du es dir erklären? | #Kompiliere die 3 Programme separat, einmal mit und ohne die -c Option. Was passiert? Wie kannst du es dir erklären? | ||
#Linke die entstandenen Objektdateien aus 3. und führe das Programm aus. | #Linke die entstandenen Objektdateien aus 3. und führe das Programm aus. | ||
Zeile 7: | Zeile 7: | ||
#Kompiliere und teste das Programm. | #Kompiliere und teste das Programm. | ||
#Sieh dir den Präprozessor-Output an. | #Sieh dir den Präprozessor-Output an. | ||
− | #Schreibe | + | #Schreibe in einer Header-Datei ein Makro LOG wie in der Vorlesung beschrieben. Inkludiere diese Datei in dein Hello-World-Programm aus 1. und ersetze printf durch LOG. Schalte Debugging im Code ein und aus, teste jeweils das Programm und sieh dir den Präprozessor-Output an. |
#Schalte Debugging nun beim Kompilieren des Programms ein und aus. | #Schalte Debugging nun beim Kompilieren des Programms ein und aus. | ||
#Füge Debug Levels hinzu. Benutze dein Programm aus 3. und gib bei Debug Level 0 nichts, bei Level 1 "Hello, World!", und bei Level 2 zusätzlich "Bye, World!" aus. | #Füge Debug Levels hinzu. Benutze dein Programm aus 3. und gib bei Debug Level 0 nichts, bei Level 1 "Hello, World!", und bei Level 2 zusätzlich "Bye, World!" aus. |
Aktuelle Version vom 18. September 2014, 14:48 Uhr
- Schreibe ein Hello-World-Programm. Kompiliere und teste es.
- Sieh dir den Präprozessor-Output an.
- Unterteile das Programm in 3 Dateien main.c, hello.c und bye.c. In hello.c und bye.c, definiere eine Funktion die einen Namen als char-Pointer übergeben bekommt, und jeweils "Hello, <name>!" bzw "Bye, <name>!" auf dem Bildschirm ausgibt. In der main-Funktion der Datei main.c, rufe diese Funktionen hintereinander auf. Kompiliere und teste das Programm.
- Kompiliere die 3 Programme separat, einmal mit und ohne die -c Option. Was passiert? Wie kannst du es dir erklären?
- Linke die entstandenen Objektdateien aus 3. und führe das Programm aus.
- Schreibe die externen Deklarationen aus main.c in zwei Header Files. Achte darauf, Mehrfachinklusion zu vermeiden. Inkludiere diese Header Files.
- Kompiliere und teste das Programm.
- Sieh dir den Präprozessor-Output an.
- Schreibe in einer Header-Datei ein Makro LOG wie in der Vorlesung beschrieben. Inkludiere diese Datei in dein Hello-World-Programm aus 1. und ersetze printf durch LOG. Schalte Debugging im Code ein und aus, teste jeweils das Programm und sieh dir den Präprozessor-Output an.
- Schalte Debugging nun beim Kompilieren des Programms ein und aus.
- Füge Debug Levels hinzu. Benutze dein Programm aus 3. und gib bei Debug Level 0 nichts, bei Level 1 "Hello, World!", und bei Level 2 zusätzlich "Bye, World!" aus.