PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Definition: Kompilieren



chairwalker
21.10.03, 13:35
Hallo,
ich wollte mal fragen was kompilieren ist und wozu?! Habe seit kurzem SuSE 8.2 drauf, sollt ich auch kompilieren?? Ich bin nµp, falls ihr euch wundert warum ich das frage :)

gruß
mikke

sirmoloch
21.10.03, 13:49
Es gibt einen Quellcode (Sourcecode), der z.B. in der Programmiersprache C (sehr gebräuchlich unter Linux-Systemen / Linux selbst wird in C programmiert) geschrieben wurde. Danach wird der Code kompiliert, d.h. in Maschinensprache übersetzt. Der Übersetzer ist der Compiler. Sollten noch externe Befehle, d.h. der Programmiersprache fremde Befehle eingesetzt werden, setzt ein Linker den benötigten Code aus Bibliotheken (Librarys) im Code ein und schon hast du ein lauffähiges Programm in einer Datei.

Sourcecode + Compiler + Linker => fertige Programmdatei.

Der Gestreifte
21.10.03, 13:51
kompilieren: Quellcode einer bestimmten Programmiersprache von einem Programm (Compiler) in maschinenlesbaren Code übersetzen lassen, der dann unter bestimmten Bedingungen (nämlich denen, für die er kompiliert wurde) von bestimmten Maschinen ausgeführt werden kann.

Wenn Du nicht weisst, für was das gut ist, (Stichworte Programmieren, vertrauenswürdiger Quelltext, anpassen an bestimmte Gegebenheiten, maschinenspezifische Optimierung) brauchst Du nichts selbst kompilieren.

Beren
22.10.03, 11:14
schau dir doch man die Manpage von gcc, cc u.a. an, das ist ein Compiler! :)

Der Sourcecode denn man in eienr beliebigen Programmiersprache erstellt hat, wie z.B. ANSI- C, C++ wird in Maschinensprache Übersetzt(und die Bibliotheksfunktion unter C Beispielsweise gesetzt) - und dies kann man nun auch noch mit einem Compiler- Argumenten verfeinern.

Nach dem Compilieren des Codes entsteht eine Objektdatei, bildlich Gespreochen besteht sie aus 1 und 0, also die Sprache die die MAschine, also der Prozessorversteht.

Nach dem also die Objektdatei vorliegt, kann man daraus noch ein Ausführbares Programm erstellen, dies geschieht durch denn Linker, der z.B. eine *.exe, *.out u.a. Datei estellt, die dann als Programmgestartet werden kann.

Sourcecode
|
compiler
|
Objektcode
|
Linker <---- Präprozessor(Bibliotheksfunktionen z.b. printf, fopen u.a.)
|
*.exe u.a.

gruß
beren