Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Guru-Training<br />
C-<strong>Programme</strong><br />
Einführung in die Programmiersprache C<br />
C verstehen<br />
Hans-Georg Eßer<br />
Die meisten Anwendungen, die für<br />
Linux verfügbar sind, haben die Entwickler<br />
in C oder C++ programmiert.<br />
Das spielt für die Installation eines<br />
fertigen Pakets keine Rolle, doch in<br />
seltenen Fällen müssen Sie in den<br />
Quelltext schauen.<br />
Haben Sie ein Programm im Internet<br />
entdeckt, das nur als Quelltextarchiv<br />
verfügbar ist? Solche<br />
Archive erkennen Sie meist an einer der<br />
Endungen .tar.gz, .tgz oder .tar.bz2. Eine<br />
Archivdatei herunterzuladen <strong>und</strong> auszupacken,<br />
ist noch der leichteste Schritt: Die<br />
Dateimanager von KDE <strong>und</strong> Gnome bieten<br />
per Rechtsklick auf die Archivdatei<br />
entsprechende Optionen, <strong>und</strong> auch auf<br />
der Kommandozeile geht es schnell mit<br />
einem der folgenden drei Befehle (abhängig<br />
von der Endung):<br />
Glossar<br />
Bibliotheken: Bibliotheken enthalten<br />
standardisierte Routinen (Programmteile),<br />
die von vielen <strong>Programme</strong>n benutzt<br />
werden können: So verwenden etwa die<br />
meisten KDE-<strong>Programme</strong> den gleichen<br />
Code zum Öffnen von Dateien – es wäre<br />
nun aber Unfug, diesen Code in jedes<br />
KDE-Programm fest einzubinden: Das<br />
würde dazu führen, dass der Code mehrfach<br />
im Hauptspeicher des Rechners<br />
liegt, wenn mehrere KDE-<strong>Programme</strong><br />
ausgeführt werden. Stattdessen landet<br />
dieser Code in einer Bibliothek, die dann<br />
nur ein einziges Mal geladen wird <strong>und</strong> allen<br />
KDE-<strong>Programme</strong>n zur Ver fügung<br />
steht. Die Bibliotheken (engl.: Libraries)<br />
liegen meist in /usr/lib/, /usr/local/lib/<br />
oder Unterverzeichnissen davon; einige<br />
wichtige Systembibliotheken liegen direkt<br />
im Ordner /lib.<br />
tar xzf archivdatei.tgz<br />
tar xzf archivdatei.tar.gz<br />
tar xjf archivdatei.tar.bz2<br />
Sicherheitshalber sollten Sie diese Kommandos<br />
in einem neu angelegten Verzeichnis<br />
ausführen, in das Sie vorher nur das Archiv<br />
kopiert haben – zwar entsteht beim Entpacken<br />
meist ein neuer Ordner, der einen ähnlichen<br />
Namen wie die Archivdatei trägt, in<br />
seltenen Fällen landen aber auch alle im Archiv<br />
gesicherten Dateien im aktuellen Verzeichnis<br />
(<strong>und</strong> „müllen“ es damit zu).<br />
Programm übersetzen<br />
Mit den Quelldateien kann Linux zunächst<br />
nichts anfangen, denn sie sind<br />
nicht ausführbar. Sie müssen erst mit einem<br />
C-Compiler <strong>und</strong> weiteren Hilfsprogrammen<br />
ein ausführbares Programm<br />
erstellen (kompilieren) <strong>und</strong> dann installieren.<br />
Das klappt nur, wenn auf dem<br />
Rechner die Entwicklungsumgebung installiert<br />
ist. Geben Sie probeweise gcc<br />
‐ ‐ version ein: Wenn der C-Compiler installiert<br />
ist, erhalten Sie ein paar Zeilen<br />
mit Versionsinformationen, anderenfalls<br />
eine Fehlermeldung.<br />
Fehlt der Compiler, holen Sie die Installation<br />
der Entwicklertools nach. Unter<br />
Ubuntu/Kubuntu erledigen Sie das mit<br />
folgendem Befehl:<br />
sudo apt‐get install build‐essential<br />
Unter OpenSuse erreichen Sie das Ziel mit<br />
folgendem Kommando:<br />
sudo zypper in ‐t devel_C_C++<br />
In beiden Fällen landet eine ganze Reihe<br />
von neuen Paketen auf Ihrem Rechner,<br />
die Tools laden diese aus den Repositories<br />
der Distributionen herunter.<br />
Dreischritt<br />
Meist folgt nach dem Entpacken der Quelltexte<br />
der so genannte klassische Installationsdreischritt<br />
configure; make; make install:<br />
./configure<br />
make<br />
sudo make install<br />
Die Befehle führen dazu, dass Ihr Bildschirm<br />
sich mit Unmengen an Systemmeldungen<br />
füllt. Was passiert hier alles?<br />
Der erste Schritt ./configure (der unbedingt<br />
mit einem Punkt <strong>und</strong> Schrägstrich<br />
vor dem Wort „configure“ eingegeben<br />
werden muss) startet das im aktuellen<br />
Verzeichnis liegende Shell-Skript namens<br />
configure: Dieses hat der Entwickler für<br />
Sie erstellt. Es hat die Aufgabe, sich auf<br />
Ihrem Linux-System genau umzusehen.<br />
Es prüft, welches Betriebssystem <strong>und</strong> welche<br />
Version Sie verwenden (das gleiche<br />
Quelltextarchiv lässt sich in der Regel<br />
auch auf anderen Unix-Varianten verwenden),<br />
welcher Compiler installiert ist (unter<br />
Linux meistens der GNU C Compiler<br />
gcc) <strong>und</strong> ob alle benötigten Bibliotheken<br />
in ausreichend aktuellen Versionen vorliegen.<br />
Ist alles zur vollen Zufriedenheit<br />
116 www.easylinux.de<br />
<strong>EasyLinux</strong> 03/2013