Wie installiere ich den C/C++-Compiler + Anleitung für erste Schritte in C

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo @ all,

    bevor ich mir den Raspberry Pi bestelle, möchte ich mich erstmal ein wenig in die Theorie einlesen. Da ich sowohl Neuling im Bereich Linux bin als auch neu im Bereich C/C++-Programmierung, brauche ich ein wenig Starthilfe. Ich habe mir jetzt schon die Finger wundgegoogelt und steh' jetzt erstmal auf dem Schlauch und komm' nicht weiter.

    Kann mir bitte jemand einen Link zu einer Step-By-Step-Anleitung nennen, wo ich sehe, wie
    1. der C/C++-Compiler auf dem RasPi unter Raspbian installiert wird, und
    2. vorgeführt wird, wie man ein Programm auf dem RasPi erstellt, dieses kompiliert und lauffähig macht, z.B. ein "Hallo Welt"-Programm, das zunächst einfach mal etwas auf dem Bildschirm ausgibt, damit man sieht, dass das Ganze auch prinzipiell läuft.

    Außerdem wäre ich auch dankbar für gute Literaturvorschläge in der oben genannten Richtung.

    mfG
    Equilibrum

  • Wie installiere ich den C/C++-Compiler + Anleitung für erste Schritte in C? Schau mal ob du hier fündig wirst!


  • Moin,

    von welchem System reden wir?

    Und als Buch würde ich Dir die C-Bibel schlechthin empfehlen: guckst Du -> hier <-
    Für C++ soll dann der Stroustrup "The C++ Programming Language" sehr gut sein.

    cu,
    -ds-

    Sorry, das habe ich mich vielleicht zu unvollständig ausgedrückt: Ich rede von einem C-Compiler, der auf dem Raspberry Pi unter Raspbian läuft, so dass ich auf dem Raspi sowohl programmieren, als auch das Programm laufen lassen kann, und nicht immer zwischen PC und Raspberry die Dateien hin- und herschieben muss.

    Einmal editiert, zuletzt von Equilibrum (20. Januar 2014 um 16:32)

  • Sorry, ich sollte das wohl noch etwas präzisieren: Ich würde gerne auf dem Raspi sowohl programmieren, als auch das erstellte Programm laufen lassen.

    Auf meinem PC arbeite ich mit Windows XP und ich habe mich dort noch nicht mit dem Thema C(++) befasst, so dass ich nicht weiß, ob es da überhaupt - zum erstmal Testen - Freeware/OpenSource Cross-Compiler für den Raspberry gibt.

    Ich würde halt gerne den Raspberry verwenden um mich in Linux einzuarbeiten.

  • Hallo :s ...

    hmm ... klingt alles so, als wärst Du im Moment etwas durch den Wind ;) ....

    Ja, Du kannst auch C und C++ -Programme unter Windows erzeugen und laufen lassen und auch per Crosscompiler für den RPi erstellen und das Binary dann auf dem RPi laufen lassen.
    Alledings würde ich einem Einsteiger diese Methode niemal empfehlen. Ausserdem kannst Du C/C++ Programme nur ganz rudimentär schreiben. Das, was interessant ist, nämlich die GPIOs, kannt Du aufgrund des Nichtvorhandenseins auf dem XP-Rechner auch nicht ausprobieren.

    cu,
    -ds-

  • Ja was jetzt: C oder C++ ?

    Das sind recht unterschiedliche Sprachen. C ist zwar die Basis fuer C++, aber da kommt noch einiges dazu.
    Wenn das Ziel C++ ist, wuerde ich heute direkt mit C++ anfangen.

    Fuer C ist Kernighan & Ritchie zu empfehlen, fuer C++ das C++ Primer von Lippman.

    Der Compiler ist bei Raspbian dabei, ich glaub ich hab nichts weiter installiert.

    Compilieren ist einfach: g++ -Wall -o HelloWorld HelloWorld.cpp

    Oder: gcc -Wall -o HelloWorld HelloWorld.c

    (Ich hab zwar gar nicht gecheckt, ob gcc und g++ das gleiche Programm sind)

    Laufen lassen auch: ./HelloWorld


  • Compilieren ist einfach: g++ -Wall -o HelloWorld HelloWorld.cpp

    Oder: gcc -Wall -o HelloWorld HelloWorld.c

    (Ich hab zwar gar nicht gecheckt, ob gcc und g++ das gleiche Programm sind)

    Es sind verschiedene binaries:

    Code
    :~$ md5sum /usr/bin/gcc /usr/bin/g++
    6ab871867c87c7b7a6fd775004544337  /usr/bin/gcc
    2799420f634c456d8e777ce8ee910c35  /usr/bin/g++

    *.cpp kann man z. B. auch mit gcc compilieren/linken:

    Code
    gcc -Wall -o HelloWorld HelloWorld.cpp -lstdc++

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Wegen der Unterscheidung zwischen C und C++, da dachte ich mir einfach, dass ich zuerst mal mit C anfangen möchte, weil mir so beim ersten flüchtigen Blick die Syntax etwas einfacher vorkommt. Wenn ich es dann drauf habe, würde ich dann zu C++ "aufsteigen" wollen, wenn ich das als Laie mal so ausdrücken darf.

    Ich habe, wie ich ja schon geschrieben habe, bisher noch nicht mit den verschiedenen Cs zu tun gehabt und habe erst in den letzten Tagen gelernt, dass "C#" nicht eine andere Schreibweise für "C++" ist, sondern dass sich hinter C#, das mehr in Richtung Microsoft geht, während C++ eine andere Richtung einschlägt, wohl andere Konzepte verbergen.

    Ich werd' jetzt also mal schauen, was es so an guten Einsteigertutorials für C gibt und mich damit etwas hochhangeln.

    Nochmal vielen Dank für Eure Tipps bis hierher.

  • C und C++ haben exact die selbe Syntax, C++ erlaubt jedoch mehr. Lerne C++ und wenn du es kannst gucke was du in C nciht kannst, das geht besser. C kann seehr anstrengend sein und ist für Einsteiger nicht sehr intuitiv. Und Hilfen im Internet beziehen sich fast immer auf C++.
    Außerdem ist C++ eine Objektorientierte Sprache, und das willst du lernen. Mit C kann man auch objektorientiert entwickeln, die Sprache unterstützt dich dabei aber garnicht, das erfordert eine Menge tiefere Kenntnis. (Beispiel Linux-Kernel, der ist Objektorientiert in C, kann jedem nur empfehlen sich die Konzepte man anzugucken der da Interesse hat )

  • Zitat

    Wegen der Unterscheidung zwischen C und C++, da dachte ich mir einfach, dass ich zuerst mal mit C anfangen möchte, weil mir so beim ersten flüchtigen Blick die Syntax etwas einfacher vorkommt. Wenn ich es dann drauf habe, würde ich dann zu C++ "aufsteigen" wollen, wenn ich das als Laie mal so ausdrücken darf.

    Ich würde dir raten direkt mit OOP anzufangen.
    Den Rest lernt man am Rande mit.

    Denn das spätere Umlernen ist für manche nicht leicht. Es wird dann krampfhaft versucht die "flachen" Verfahren im OPP Stil nachzubilden. Also exakt falsch rum. Da kann man besser versuchen OOP in Sprachen nachzubilden, die das von Hause aus nicht können.


    Unabhängig von der Sprache, sind die google("OOP Design Pattern") eine gute Leitlinie.

    spruch.png

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!