01.03.2014 Aufrufe

¨Ubungspaket 17 Der gcc Compiler

¨Ubungspaket 17 Der gcc Compiler

¨Ubungspaket 17 Der gcc Compiler

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Teil I: Stoffwiederholung<br />

Aufgabe 1: Grobaufbau des <strong>gcc</strong> <strong>Compiler</strong>s<br />

Durch den Aufruf <strong>gcc</strong> datei.c werden eigentlich vier größere Programme nacheinander<br />

aufgerufen. Benenne diese vier Programme und erläutere kurz, was ihre Aufgaben sind.<br />

1. Programm: Präprozessor<br />

Funktion:<br />

<strong>Der</strong> Präprozessor erfüllt im Wesentlichen drei Funktionen:<br />

1. <strong>Der</strong> Präprozessor ersetzt all #include-Direktiven durch die angegebenen<br />

Dateien (diese Dateien werden vollständig in den<br />

Quelltext eingefügt).<br />

2. Ersetzen aller #define-Makros durch ihre entsprechenden Definitionen.<br />

3. Übersetzen bzw. entfernen aller Anweisungen zwischen den<br />

#ifdef, #ifndef, #else und #endif Direktiven.<br />

2. Programm: Eigentlicher <strong>Compiler</strong> (der C-Übersetzer)<br />

Funktion:<br />

3. Programm: Assembler<br />

In dieser Phase wird das C-Programm in denjenigen Assembler-Code<br />

übersetzt, der zum gewählten Prozessor gehört. Das Ergebnis ist also<br />

eine Datei, die prozessorspezifisch ist.<br />

Ergebnis: eine Datei mit der Endung .s<br />

Funktion:<br />

<strong>Der</strong> Assembler wandelt den (prozessorspezifischen) Assembler-Code,<br />

der noch ”<br />

lesbare“ Anweisungen enthält in Maschinencode um. Das<br />

Ergebnis ist eine Datei, die nur noch aus unverständlichen Nullen<br />

und Einsen besteht, die üblicherweise zu hexadezimalen Zahlen zusammengefasst<br />

werden.<br />

Ergebnis: eine Datei mit der Endung .o<br />

4. Programm: Linker<br />

Funktion:<br />

<strong>Der</strong> Linker fügt den Maschinencode und alle verwendeten Bibliotheken<br />

zu einem einzigen lauffähigen Programm zusammen. Erst dieses<br />

Programm kann vom Prozessor (in Zusammenarbeit mit dem Betriebssystem)<br />

auch wirklich ausgeführt werden.<br />

Ergebnis: eine ausführbare Datei mit dem angegeben Namen oder<br />

a.out<br />

Einführung in die Praktische Informatik, Wintersemester 2013/14 <strong>17</strong>-1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!