23.01.2015 Views

Tabellenanhang - Alex-weingarten.de

Tabellenanhang - Alex-weingarten.de

Tabellenanhang - Alex-weingarten.de

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

M.5. INCLUDE-DATEIEN 69<br />

M.5 Inclu<strong>de</strong>-Dateien<br />

Die Standard-Inclu<strong>de</strong>-Dateien enthalten in lesbarer Form Definitionen von<br />

Konstanten und Typen, Deklarationen von Funktionen und Makro<strong>de</strong>finitionen.<br />

Sie wer<strong>de</strong>n von Systemaufrufen und Bibliotheksfunktionen benötigt.<br />

Bei <strong>de</strong>r Beschreibung je<strong>de</strong>r Funktion im Referenz-Handbuch ist angegeben,<br />

welche Inclu<strong>de</strong>-Dateien jeweils eingebun<strong>de</strong>n wer<strong>de</strong>n müssen. Gebräuchliche<br />

Inclu<strong>de</strong>-Dateien sind:<br />

• ctype.h, Definition von Zeichenklassen (conv(3))<br />

• curses.h, Bildschirmsteuerung (curses(3))<br />

• errno.h, Fehlermeldungen <strong>de</strong>s Systems (errno(2))<br />

• fcntl.h, Steuerung <strong>de</strong>s Dateizugriffs (fcntl(2), open(2))<br />

• malloc.h, Speicherallokierung (malloc(3))<br />

• math.h, mathematische Funktionen (log(3), sqrt(3), floor(3))<br />

• memory.h, Speicherfunktionen (memory(3))<br />

• search.h, Suchfunktionen (bsearch(3))<br />

• signal.h, Signalbehandlung (signal(2))<br />

• stdio.h, Ein- und Ausgabe (printf(3), scanf(3), fopen(3))<br />

• string.h, Stringbehandlung (string(3))<br />

• time.h, Zeitfunktionen (ctime(3))<br />

• varargs.h, Argumentenliste variabler Länge (vprintf(3))<br />

• sys/ioctl.h, Ein- und Ausgabe (ioctl(2))<br />

• sys/stat.h, Zugriffsrechte (chmod(2), mkdir(2), stat(2))<br />

• sys/types.h , verschie<strong>de</strong>ne Deklarationen (chmod(2), getut(3))<br />

Auch diese Liste ist vom Compiler und damit von <strong>de</strong>r Hardware abhängig. So<br />

fin<strong>de</strong>t man die inclu<strong>de</strong>-Datei dos.h nicht auf UNIX-Anlagen, son<strong>de</strong>rn nur bei<br />

Compilern unter MS-DOS für PCs.<br />

M.6 Präprozessor-Anweisungen<br />

Der erste Schritt beim Compilieren ist die Bearbeitung <strong>de</strong>s Quelltextes durch<br />

<strong>de</strong>n Präprozessor. Dieser entfernt <strong>de</strong>n Kommentar und führt Ersetzungen<br />

und Einfügungen gemäß <strong>de</strong>r folgen<strong>de</strong>n Anweisungen (directives) aus:<br />

• #<strong>de</strong>fine buchstäbliche Ersetzung einer symbolischen Konstanten o<strong>de</strong>r<br />

eines Makros. Ist kein Ersatz angegeben, wird nur <strong>de</strong>r Name als <strong>de</strong>finiert<br />

angesehen (für #if<strong>de</strong>f). Häufig.<br />

• #un<strong>de</strong>fine löscht die Definition eines Namens.<br />

• #error führt zu einer Fehlermeldung <strong>de</strong>s Präprozessors.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!