24.02.2013 Aufrufe

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

Einf ¨uhrung in UNIX - CIS

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.

172 2 <strong>UNIX</strong><br />

• -O optimiert das ausführbare Programm oder auch nicht.<br />

Speichermodelle wie unter MS-DOS gibt es <strong>in</strong> <strong>UNIX</strong> nicht. Hat man Speicher,<br />

kann man ihn une<strong>in</strong>geschränkt nutzen.<br />

Für C-Programme gibt es e<strong>in</strong>en Syntax-Prüfer namens l<strong>in</strong>t(1), den<br />

man unbed<strong>in</strong>gt verwenden sollte. Er reklamiert nicht nur Fehler, sondern<br />

auch Stilmängel. Manchmal beanstandet er auch D<strong>in</strong>ge, die man bewußt gegen<br />

die Regeln geschrieben hat. Man muß se<strong>in</strong>en Kommentar s<strong>in</strong>nvoll <strong>in</strong>terpretieren.<br />

Aufruf:<br />

l<strong>in</strong>t source.c<br />

Ferner gibt es für C-Quelltexte e<strong>in</strong>en Beautifier namens cb(1), der den<br />

Text <strong>in</strong> e<strong>in</strong>e standardisierte Form mit E<strong>in</strong>rückungen usw. br<strong>in</strong>gt und die Lesbarkeit<br />

erleichtert:<br />

cb source.c > source.b<br />

Wenn man mit dem Ergebnis source.b zufrieden ist, löscht man das ursprüngliche<br />

File source.c und benennt source.b <strong>in</strong> source.c um.<br />

2.7.24 Unentbehrlich (make)<br />

Größere Programme s<strong>in</strong>d stark gegliedert und auf mehrere bis viele Files<br />

und Verzeichnisse verteilt. Der Compileraufruf wird dadurch länglich,<br />

und die Wahrsche<strong>in</strong>lichkeit, etwas zu vergessen, steigt. Hier hilft make(1).<br />

Man schreibt e<strong>in</strong>mal alle Angaben für den Compiler <strong>in</strong> e<strong>in</strong> makefile (auch<br />

Makefile) und ruft dann zum Kompilieren nur noch make(1) auf. Auch für<br />

Manuskripte ist make(1) zu gebrauchen. Eigentlich läßt sich mit Makefiles<br />

fast alles erledigen, was man auch mit Shellscripts macht, die Stärke von<br />

make(1) liegt jedoch im Umgang mit Files unter Beachtung der Zeitstempel.<br />

Umgekehrt kann man auch mit Shellscripts fast alles bewältigen, was<br />

make(1) leistet, nur umständlicher.<br />

Man lege für das Projekt e<strong>in</strong> eigenes Unterverzeichnis an, denn make(1)<br />

sucht zunächst im Arbeits-Verzeichnis. Das makefile beschreibt die<br />

Abhängigkeiten (dependencies) der Programmteile vone<strong>in</strong>ander und enthält<br />

die Kommandozeilen zu ihrer Erzeugung. E<strong>in</strong> e<strong>in</strong>faches makefile sieht so<br />

aus (Zeilen mit Kommandos müssen durch e<strong>in</strong>en Tabulatorstop – nicht durch<br />

Spaces – e<strong>in</strong>gerückt se<strong>in</strong>):<br />

pgm: a.o b.o<br />

cc a.o b.o -o pgm<br />

a.o: <strong>in</strong>cl.h a.c<br />

cc -c a.c<br />

b.o: <strong>in</strong>cl.h b.c<br />

cc -c b.c<br />

und ist folgendermaßen zu verstehen:<br />

Programm 2.29 : <strong>E<strong>in</strong>f</strong>aches make-File

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!