12.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>Der Name <strong>de</strong>s Programms im C-Quellco<strong>de</strong> hat die Kennung.c, <strong>in</strong> FORTRAN und PASCAL entsprechend .f und .p. Daskompilierte, aber noch nicht gel<strong>in</strong>kte Programm wird als Objektco<strong>de</strong>o<strong>de</strong>r relozierbar (relocatable) bezeichnet, <strong>de</strong>r Date<strong>in</strong>amehat die Kennung .o o<strong>de</strong>r .obj. Das lauffähige Programmheißt ausführbar (executable), se<strong>in</strong> Name hat ke<strong>in</strong>eKennung. Unter PC-DOS s<strong>in</strong>d die Namen ausführbarer Programmedurch .com o<strong>de</strong>r .exe gekennzeichnet. E<strong>in</strong> kompiliertesProgramm wird auch B<strong>in</strong>ary genannt, im Gegensatz zumQuelltext. E<strong>in</strong> Programm ist b<strong>in</strong>är-kompatibel zu e<strong>in</strong>em an<strong>de</strong>renSystem, wenn es <strong>in</strong> se<strong>in</strong>er ausführbaren Form unter bei<strong>de</strong>nläuft.Hat sich e<strong>in</strong> Programm anstandslos kompilieren lassen un<strong>de</strong>rzeugt beim Aufruf die Fehlermeldung File not found, dannliegt das fast immer daran, dass das Arbeitsverzeichnis nicht imBefehlspfad enthalten ist. Man ruft dann das neue Programmmit e<strong>in</strong>em Punkt als Pfadangabe auf:./myprogramund veranlasst so die Shell, das Programm im Arbeitsverzeichniszu suchen. Alternativ könnte man auch <strong>de</strong>n Punkt <strong>in</strong> <strong>de</strong>nPfad aufnehmen.Bei <strong>de</strong>n Operan<strong>de</strong>n spielt es e<strong>in</strong>e Rolle, ob ihre Eigenschaftenvom Übersetzer bestimmt wer<strong>de</strong>n o<strong>de</strong>r von Programm undÜbersetzer geme<strong>in</strong>sam – zur Übersetzungszeit – o<strong>de</strong>r während<strong>de</strong>r Ausführung <strong>de</strong>s Programmes – zur Laufzeit. Der zweite Wegwird als statische B<strong>in</strong>dung bezeichnet, <strong>de</strong>r dritte als dynamischeB<strong>in</strong>dung. Die Größe e<strong>in</strong>er Ganzzahl (2 Bytes, 4 Bytes) istdurch <strong>de</strong>n Compiler gegeben. Die Größe e<strong>in</strong>es Arrays könnte imProgramm festgelegt se<strong>in</strong> o<strong>de</strong>r während <strong>de</strong>r Ausführung berechnetwer<strong>de</strong>n. Es ist auch <strong>de</strong>nkbar, aber <strong>in</strong> C nicht zugelassen, <strong>de</strong>nTyp e<strong>in</strong>er Variablen erst bei <strong>de</strong>r Ausführung je nach Bedarf zubestimmen.E<strong>in</strong>en Weg zurück vom ausführbaren Programm zum Quellco<strong>de</strong>gibt es nicht. Das Äußerste ist, mit e<strong>in</strong>em Disassembleraus <strong>de</strong>m ausführbaren Co<strong>de</strong> Assemblerco<strong>de</strong> zu erzeugen, ohneKommentar und typografische Struktur. Nur bei kurzen, e<strong>in</strong>fachenProgrammen ist dieser Assemblerco<strong>de</strong> verständlich.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!