13.07.2015 Aufrufe

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

Einführung in C/C++ - Alex-weingarten.de

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

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

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

20 KAPITEL 1. PROGRAMMIEREN IN C/<strong>C++</strong>cc source.ccc -g source.c -lm -L./lib -I. -DMAX=100Die erste Zeile stellt <strong>de</strong>n m<strong>in</strong>imalen Aufruf dar, die zweite e<strong>in</strong>en um gängige Optionen erweiterten.Die Option -g veranlaßt <strong>de</strong>n Compiler, zusätzliche Informationen für <strong>de</strong>n symbolischenDebugger zu erzeugen. Weitere Optionen s<strong>in</strong>d:• -v (verbose) führt zu etwas mehr Bemerkungen beim Übersetzen,• -o (output) benennt die ausführbare Datei mit <strong>de</strong>m auf die Option folgen<strong>de</strong>n Namen,meist <strong>de</strong>rselbe wie die Quelle, nur ohne Kennung: cc -o myprogram myprogram.c,• -c hört vor <strong>de</strong>m L<strong>in</strong>ken auf, erzeugt Objektfile mit <strong>de</strong>r Kennung .o,• -p (profile) erzeugt beim Ablauf <strong>de</strong>s Programmes e<strong>in</strong>e Datei mon.out, das mit <strong>de</strong>mProfiler prof(1) ausgewertet wer<strong>de</strong>n kann, um Zeit<strong>in</strong>formationen zum Programm zuerhalten,• -O optimiert das ausführbare Programm o<strong>de</strong>r auch nicht.Der Quelltext <strong>de</strong>s C-Programmes steht <strong>in</strong> <strong>de</strong>r Datei source.c, die e<strong>in</strong>en beliebigen Namentragen kann, nur sollte <strong>de</strong>r Name mit <strong>de</strong>r Kennung .c en<strong>de</strong>n. Die anschließen<strong>de</strong> Option-lm for<strong>de</strong>rt <strong>de</strong>n L<strong>in</strong>ker auf, die mathematische Standard-Bibliothek e<strong>in</strong>zub<strong>in</strong><strong>de</strong>n. Die Option-L./lib wen<strong>de</strong>t sich ebenfalls an <strong>de</strong>n L<strong>in</strong>ker und teilt ihm mit, dass sich im Verzeichnis./lib weitere Bibliotheken bef<strong>in</strong><strong>de</strong>n. Die Reihenfolge, <strong>in</strong> <strong>de</strong>r Bibliotheken e<strong>in</strong>gebun<strong>de</strong>nwer<strong>de</strong>n, ist wichtig. Die Option -I. veranlasst <strong>de</strong>n Präprozessor, Inclu<strong>de</strong>-Dateien auch imaktuellen Verzeichnis zu suchen, was er nicht immer automatisch tut. Es könnte auch e<strong>in</strong>an<strong>de</strong>res Verzeichnis angegeben wer<strong>de</strong>n. Die Option -DMAX=100 <strong>de</strong>f<strong>in</strong>iert e<strong>in</strong>e symbolischeKonstante namens MAX und weist ihr <strong>de</strong>n Wert 100 zu, genau wie e<strong>in</strong>e Zeile:#<strong>de</strong>f<strong>in</strong>e MAX 100im Quelltext, nur eben hier mit <strong>de</strong>r Möglichkeit, <strong>de</strong>n Wert bei <strong>de</strong>r Übersetzung zu bestimmen.Speichermo<strong>de</strong>lle wie unter PC-DOS gibt es <strong>in</strong> UNIX nicht. Hat man Speicher, kann man ihnune<strong>in</strong>geschränkt nutzen.Für C-Programme gibt es e<strong>in</strong>en Syntax-Prüfer namens l<strong>in</strong>t(1), <strong>de</strong>n man unbed<strong>in</strong>gtverwen<strong>de</strong>n sollte. Er reklamiert nicht nur Fehler, son<strong>de</strong>rn auch Stilmängel. Manchmal beanstan<strong>de</strong>ter auch D<strong>in</strong>ge, die man bewußt gegen die Regeln geschrieben hat. Man muß se<strong>in</strong>enKommentar s<strong>in</strong>nvoll <strong>in</strong>terpretieren. Aufruf:l<strong>in</strong>t mysource.cE<strong>in</strong> verbesserter l<strong>in</strong>t, e<strong>in</strong> Secure Programm<strong>in</strong>g L<strong>in</strong>t f<strong>in</strong><strong>de</strong>t sich bei <strong>de</strong>r University of Virg<strong>in</strong>iaunter:http://www.spl<strong>in</strong>t.org/Unter L<strong>in</strong>ux ist l<strong>in</strong>t(1) nicht überall vorhan<strong>de</strong>n, dann kann man <strong>de</strong>n Compiler gcc(1)mit e<strong>in</strong>er Option aufrufen, die ihn nur zu e<strong>in</strong>er Prüfung <strong>de</strong>r Syntax veranlasst:gcc -fsyntax-only -pedantic -Wall mysource.cFerner gibt es unter e<strong>in</strong>igen UNIXen für C-Quelltexte e<strong>in</strong>en Beautifier namens cb(1),<strong>de</strong>r <strong>de</strong>n 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 Lesbarkeiterleichtert:cb source.c > source.bWenn man mit <strong>de</strong>m Ergebnis source.b zufrie<strong>de</strong>n ist, löscht man die ursprüngliche Dateisource.c und benennt source.b <strong>in</strong> source.c um.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!