c-code.png

C verstehen

Einführung in die Programmiersprache C

09.07.2013
Die meisten Anwendungen, die für Linux verfügbar sind, haben die Entwickler in C oder C++ programmiert. Das spielt für die Installation eines fertigen Pakets keine Rolle, doch in seltenen Fällen müssen Sie in den Quelltext schauen.

Haben Sie ein Programm im Internet entdeckt, das nur als Quelltextarchiv verfügbar ist? Solche Archive erkennen Sie meist an einer der Endungen .tar.gz, .tgz oder .tar.bz2. Eine Archivdatei herunterzuladen und auszupacken, ist noch der leichteste Schritt: Die Dateimanager von KDE und Gnome bieten per Rechtsklick auf die Archivdatei entsprechende Optionen, und auch auf der Kommandozeile geht es schnell mit einem der folgenden drei Befehle (abhängig von der Endung):

tar xzf archivdatei.tgz
tar xzf archivdatei.tar.gz
tar xjf archivdatei.tar.bz2

Sicherheitshalber sollten Sie diese Kommandos in einem neu angelegten Verzeichnis ausführen, in das Sie vorher nur das Archiv kopiert haben – zwar entsteht beim Entpacken meist ein neuer Ordner, der einen ähnlichen Namen wie die Archivdatei trägt, in seltenen Fällen landen aber auch alle im Archiv gesicherten Dateien im aktuellen Verzeichnis (und "müllen" es damit zu).

Programm übersetzen

Mit den Quelldateien kann Linux zunächst nichts anfangen, denn sie sind nicht ausführbar. Sie müssen erst mit einem C-Compiler und weiteren Hilfsprogrammen ein ausführbares Programm erstellen (kompilieren) und dann installieren. Das klappt nur, wenn auf dem Rechner die Entwicklungsumgebung installiert ist. Geben Sie probeweise gcc --version ein: Wenn der C-Compiler installiert ist, erhalten Sie ein paar Zeilen mit Versionsinformationen, anderenfalls eine Fehlermeldung.

Fehlt der Compiler, holen Sie die Installation der Entwicklertools nach. Unter Ubuntu/Kubuntu erledigen Sie das mit folgendem Befehl:

sudo apt-get install build-essential

Unter OpenSuse erreichen Sie das Ziel mit folgendem Kommando:

sudo zypper in -t devel_C_C++

In beiden Fällen landet eine ganze Reihe von neuen Paketen auf Ihrem Rechner, die Tools laden diese aus den Repositories der Distributionen herunter.

Dreischritt

Meist folgt nach dem Entpacken der Quelltexte der so genannte klassische Installationsdreischritt configure; make; make install:

./configure
make
sudo make install

Alle drei Befehle führen dazu, dass Ihr Bildschirm sich mit Unmengen an Systemmeldungen füllt. Was passiert hier alles?

Der erste Schritt ./configure (der unbedingt mit einem Punkt und Schrägstrich vor dem Wort "configure" eingegeben werden muss) startet das im aktuellen Verzeichnis liegende Shell-Skript namens configure: Dieses hat der Entwickler für Sie erstellt, es hat die Aufgabe, sich auf Ihrem Linux-System genau umzusehen. Es prüft, welches Betriebssystem und welche Version Sie verwenden (das gleiche Quelltextarchiv lässt sich in der Regel auch auf anderen Unix-Varianten verwenden), welcher Compiler installiert ist (unter Linux meistens der GNU C Compiler gcc) und ob alle benötigten Bibliotheken in ausreichend aktuellen Versionen vorliegen. Ist alles zur vollen Zufriedenheit von configure, dann erzeugt das Skript ein Makefile: Das ist ein "Rezept", welches festlegt, in welcher Reihenfolge die Quelldateien mit bestimmten Tools in fertige, ausführbare Programme übersetzt werden. Da die meisten Programme mit verschiedenen Linux-Versionen und weiteren Betriebssystemen wie FreeBSD oder teilweise sogar Windows kompatibel sind, gibt es kein einheitliches Makefile – configure untersucht den Rechner und erstellt es passend für Ihren PC.

Das Makefile brauchen Sie für die nächsten beiden Schritte. Wenn Sie das Dienstprogramm make aufrufen, arbeitet es Ihr frisch erstelltes Makefile der Reihe nach ab: Das Makefile enthält eine rezeptähnliche Auflistung, was alles in welcher Reihenfolge geschehen muss, um ein fertiges (ausführbares) Programm zu erzeugen. Die beiden Schritte ./configure und make können je nach Umfang des Programmes viel Zeit benötigen.

Schließlich kopiert sudo make install alle erstellten Dateien an die vorgesehenen Stellen in Ihrem Dateisystem: Programme selbst landen meist unter /usr/bin oder /usr/local/bin, Hilfeseiten (man pages) unter /usr/share/man oder /usr/local/share/man, Konfigurationsdateien in /etc usw. Für diese Kopieraktionen sind Root-Rechte nötig, darum steht vor dem Kommando make install noch sudo.

Damit ist die Installation abgeschlossen: Wenn das erstellte Programm funktioniert, können Sie das Verzeichnis, in dem Sie die Übersetzung durchgeführt haben, wieder löschen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Auf Trab gebracht
    Dualcore-Prozessoren sind längst Standard, Quadcores im Kommen. Mit OpenMP geben Sie ihren Programmen Zugriff auf diese Rechenleistung.
  • Erste Schritte mit Bash-Skripten
    Das Programmieren von Shell-Skripten ist keine Hexerei. Schon mit wenigen Grundkenntnissen sparen Sie durch das Automatisieren alltäglicher Aufgaben viel Zeit.
  • Splint und Co: Tools zur statischen Code-Analyse
    Zwar finden Compiler Syntaxfehler in Programmen, aber auch syntaktisch korrekter Code kann Ungenauigkeiten, logische Fehler oder veraltete Funktionen beinhalten. Solche Probleme spüren Sie mit Quellcode-Analyzern auf.
  • Mehr Komfort
    Von einfachen Abfragen bis hin zu komplexen Menüs: Mit dem Toolkit Dialog bauen Sie eine grafische Oberfläche für Shell-Skripte, die oft nicht mehr als eine zusätzliche Zeile brauchen.
  • Ohne Crash durch die Bash
    Mit der Bourne-Again-Shell schreiben Linux-Anwender Skripte, die nervige und stupide Aufgaben automatisieren – etwa um auf dem Notebook Strom einzusparen.
Kommentare

Infos zur Publikation

title_2014_03

Digitale Ausgabe: Preis € 9,80
(inkl. 19% MwSt.)

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!      

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...