⬅️ Seite zurück⬆️ Inhaltsverzeichnis➡️ Nächste Seite

🤪 Kapitel 1.04 - Installation der nötigen Software - Allgemeines

Gefunden auf X - User: @pikuma
Gefunden auf X - User: @pikuma

🤪 Was ist alles zu beachten?

Früher(tm) war es besonders bei Unix Systemen üblich, das ein C-Compiler Bestandteil der Grundinstallation war. Bei Desktop Systemen war dies unüblich, auch aufgrund des hohen Speicherbedarfs und natürlich, viele Anwender arbeiteten noch mit Diskettenlaufwerken… Und Compiler wurden sehr teuer verkauft…

Inzwischen gibt es aber sehr viele OpenSource Projekte, die die komplette Infrastruktur bereitstellen um Software zu entwickeln. Diese müssen nur installiert werden…

🤪 Drei Betriebssysteme werden hier behandelt

Unter ↗ MacOS und ↗ Linux ist die Installation relativ unaufwenig, da es für diese Systeme einen so genannten ↗ Paketmanager gibt. Unter ↗ Windows ist dies aber komplizierter, da Microsoft - wie gewohnt - seine Extrawürste durchdrückt.

Ich bemühe mich, alle Texte so abzufassen um alle drei Systeme abzudecken und auf eventuelle Unterschiede hinzuweisen.

Ich nutze wieder den QtCreator aus der ↗ Community Edition von Qt.
Wie schon in anderen Videos auf meinem Kanal angemerkt, mag ich den QtCreator da sich diese IDE auf das wesentliche konzentriert ohne viel unnötigen Schnickschnack, oder wie man im Saarland sagt “unnötige Knöpp”.

Die Schritte für jedes System:

🤪 Das erste Programm "Hello World!"

Es ist Tradition, als erstes Programm in ein so genanntes “Hello World!” Programm zu schreiben, welches nur “Hello World!” ausgibt.

Es können zwei Dateien geladen werden, zum einen die Quellcodedatei “HelloWorld.c” und das Makefile “HelloWorld.pro”.

🤪 HelloWorld.pro

Die .pro Datei ist das so genannte Makefile für den QtCreator sowie für das darunter liegende Programm “qmake”.

Mit einem Makefile wird beschrieben, welche Dateien zu einem Projekt gehören und mit welchen Parametern diese kompiliert werden müssen.

Zum genauen Aufbau, werde ich im laufe des Buches eingehen. Jetzt nur eine kurze Zusammenfassung.
  • Bei den meisten Konfigurationsdateien ist es üblich, daß das Hash-Zeichen (#) einen Kommentar einleitet, der bis zum ende der Zeile reicht. Also alles nach dem # wird komplett ignoriert.
  • "TARGET" beschreibt den Dateinamen, welcher das komplette Programm erhalten wird.
  • "TEMPLATE" beschreibt eine Unterkategorie, welcher Programmtyp exakt erstellt werden soll. Die Erklärung ist an dieser Stelle etwas zu komplex, daher jetzt die Kurzfassung - "APP" erstellt ein normales, direkt ausführbares Programm.
  • "SOURCES" enthält alle Quellcode Dateien, die während der kompilierung mit eingebunden werden.SOURCES enthält alle Quellcode Dateien, die während der kompilierung mit eingebunden werden.

🤪 HelloWorld.c

Dies ist das eigentliche Programm, es besteht nur aus einer einzigen Datei. Die Endung für C-Programme ist .c

Auch hier erfolgt nur eine kurze Erklärung, der genaue Aufbau kommt in den nächsten Kapiteln.
  • Bei den meisten C-Artigen Programmiersprachen ist es üblich, daß das doppelte Slash-Zeichen (//) einen Kommentar einleitet, der bis zum ende der Zeile reicht. Also alles nach dem // wird komplett ignoriert.
  • #include ist eine Anweisung, die vom Präprozessor abgearbeitet wird. Damit wird die Datei “stdio.h” in den Quellcode eingebunden und diese enthält Funktionsdefinitionen aus der “Standard Input/Output” Bibliothek, welche Bestandteil des C-Standards ist.
  • “int main( )” ist eine Funktion ohne Argumente, die einen Integerwert als Ergebnis zurück gibt. Die main() Funktion hat eine besondere Aufgabe, dies ist die einzige Funktion die immer existieren muss. Sie ist der Einsprung wenn das Programm gestartet wurde. Technisch gesehen, ist diese Funktion nicht der erste Einsprung - Es werden bereits vorher mehrere tausend Zeilen “unter der Haube” des Betriebssystems abgearbeitet. Aber oberflächlich ist main() der Einsprung.
    Die Funktion selbst ist in geschweifte Klammern { … } eingeschlossen.
  • printf( "Hello World!\n" );
    printf() ist eine Funktion, die einen Text auf dem Terminal ausgibt. In den Hochkommas “ … ” ist der auszugebende Text angegeben, der Backslash (\) steht zur ein Escape-Zeichen, das heisst das der nachfolgende Buchstabe “anders” behandelt wird. In diesem Fall wird aus dem \n der ASCII-Wert 10 (0x0a), welcher für den “Newline” steht. Also bei Druckern ist jetzt der Druckkopf auf die linke Position zurückgekehrt. Das Semikolon (;) beendet die Anweisung.
  • return( 0 );
    return ist ein C-Keyword, also ein Kommando der Sprache selbst. Es bedeutet, was die Funktion beendet wird und zur übergeordneten Funktion zurückgesprungen wird. Da es sich hier um die main() Funktion handelt, ist die übergeordnete Funktion das Betriebssystem selbst. Somit wird das Programm damit beendet. Da in der main() Funktion ein Rückgabewert angegeben ist, muss auch bei dem dazugehörigen return() ein Rückgabewert angegeben werde. Es hat sich für Rückgabewerte an das Betriebssystem folgende Konvention eingelebt:
    0 bedeutet: Alles in Ordnung
    >0 bedeutet: Eine Warnung oder Hinweiss
    <0 bedeutet: Ein Fehler, nicht korrigierbar.

🤪 Alle Dateien zu HelloWorld


Alle Downloads zu diesem Projekt:
💾 HelloWorld.c
💾 HelloWorld.pro


Inhalt von: HelloWorld.c
..1: //+------------------------------------------------------------------
..2: //|
..3: //| Projekt              : HelloWorld
..4: //| Versionsnummer       : V1.00
..5: //| Projektbeschreibung  : Erstes C-Programm "Hello World!"
..6: //| Lauffähig unter      : Alle Systeme / Compiler
..7: //|
..8: //| Autor                : Salomo Sokoll - ss@salomo-sokoll.de
..9: //| Programmierung mit C und C++ ohne ideologischen Ballast
.10: //| https://salomo-sokoll.de/Buch/C_CPP/index.html
.11: //|
.12: //+------------------------------------------------------------------
.13:
.14: #include "stdio.h"
.15:
.16: int main( )
.17: {
.18:     printf( "Hello World!\n" );
.19:
.20:     return( 0 );
.21: }
.22:

Inhalt von: HelloWorld.pro
..1: #+------------------------------------------------------------------
..2: #|
..3: #| Projekt              : HelloWorld
..4: #| Versionsnummer       : V1.00
..5: #| Projektbeschreibung  : Erstes C-Programm "Hello World!"
..6: #| Lauffähig unter      : Alle Systeme / Compiler
..7: #|
..8: #| Autor                : Salomo Sokoll - ss@salomo-sokoll.de
..9: #| Programmierung mit C und C++ ohne ideologischen Ballast
.10: #| https://salomo-sokoll.de/Buch/C_CPP/index.html
.11: #|
.12: #+------------------------------------------------------------------
.13:
.14: TARGET      = HelloWorld
.15: TEMPLATE    = app
.16:
.17: SOURCES     += HelloWorld.c



Erstellt durch: MuseumsWelt V6.04.01 Edition 'In memoriam 😢 Röhrensammlung' / EU Datenschutz-Grundverordnung (DSGVO)
Erstellt am: 10.07.2026 00:30