C/C++ Programmierung und Debugging

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Guten Morgen,


    ein raspberry pi wurde für spezielle Anforderungen in unser Firmennetz integriert. Für Testzwecke wird dieser raspberry pi benutzt.

    Die Anwendungen sollen in C oder auch in C++ entwickelt und dort auch gestartet werden. Bisher habe ich nur mit nano python Skript entwickelt.

    Ich habe mir nun überlegt C oder C++ Code zu schreiben. Allerdings weiß ich nicht mit welchen Tool ich die entwickeln sollte.

    Gibt es auch eine Möglichekit via Windows mit Visual Studio C oder C++ Code für Linux zu entwickeln und debuggen?

  • Hallo Raumsonde,


    ich werfe mal den Editor / IDE (Integrierte Entwicklungsumgebung) in die Runde. Geany unterstützt die Entwicklung von >> 10 Programmiersprachen. C bzw. C++ ist auch darunter. Geany ist standardmäßig installiert und frisst recht wenig Ressourcen.


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich würde gerne WIndows Visual Studio bevorzugen. Ich habe auf dem raspberry pi keine grafische Oberfläche. Deshalb würde ich gerne mit Windows per remote C/C++ Code entwickeln. Gibt es bereits gute ANleitungen wie man sowas richtig aufsetzen kann? Muss auch nicht zwangsweise Visual Studio sein ;)

  • Hallo Raumsonde,


    füttere Deine Suchmaschine mit

    Code
    Raspberry Pi Remote unter Windows Visual C++ entwickeln


    Beste Grüße


    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ich habe auf dem raspberry pi keine grafische Oberfläche.

    Aber man kann alles von der Raspi per nfs exportieren und somit remote per geany entwickeln. Aber Du scheinst lieber auf Windows zu entwickeln :shy:

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Hallo Raumsonde,


    ich kam von Netbeans und habe dann einmal die Raspberry Programmierung mit Visual Studio versucht.


    In Netbeans gibt es einen "Compile Host" (Services->C/C++ Build Host).
    Hinter diesem "Compile Host" versteckt sich z.B. ein Raspberry.

    Der Zugriff erfolgt z.B. über SSH. User und Passwort werden in der IDE eingepflegt.

    Über eine Mapping Tabelle kannst Du die Pfade auf der Windows Seite mit denen auf der Linux Seite verbinden.

    Der Programmcode liegt dann auf einem Share auf einem Fileserver oder NAS. Über das Mapping schaut der Editor wie auch der Compiler auf den gleichen Source Code.

    Anfänglich hatte ich ein paar Problemchen mit dem Einbinden von Libraries und dem Debug.

    Das lag aber eher an meinen fehlenden Erfahrungen mit Programmierung im Linux Umfeld.


    Die Visual Studio Seite hat auch ihren Charme.
    Mir ist es allerdings nicht gelungen die IDE und den Compiler auf die gleichen Pfade zu konfigurieren.
    In meiner Umgebung hat Visual Studio bei jedem Compiler Lauf die Source Files auf den Raspberry kopiert und dann dort übersetzt.
    Dieses Verfahren beschleunigt das Ganze nicht unbedingt.


    Einrichtung:

    Visual Studio 2022 (Community Edition (ich glaube das gabe es auch schon bei den älteren Versionen))

    Über den Visual Studio Installer die Erweiterung "Linux und eingebettete Entwicklung C++" einrichten

    Nach der Installation die Entwicklungsumgebung neu starten.

    Neues Projekt -> Programmiersprache: C++, Zielsystem: Linux, Projektart: Raspberry PI Projekt

    Der Compiler wird dann auf der Raspberry CPU gestartet. Die Ausgaben kommen in Visual Studio an.


    Auf die Schnelle habe ich leider nicht gefunden, wo der Zielhost geändert werden kann. In meinem Projekt wird der Raspberry eingesetzt, den ich beim letzten Mal verwendet habe. :(


    Als dritte Option gibt es noch die Eclipse IDE, die das kann.

    Dort werden aber - wenn ich das recht in Erinnerung habe - CIGWIN Komponenten auf dem Windows Client benötigt, was mir persönlich nicht gefallen hat.


    Nachdem ich mit Netbeans zufrieden war, Visual Studio als Alternative hatte, kam die Eclipse Lösung für mich nicht mehr in die nähere Auswahl.


    Ich glaube für Deine Anforderung - Entwicklung von C++ Code auf einem Raspberry (Raspbian Betriebssystem) auf einer Windows Plattform - ist mit Visual Studio eine Option.
    Der magische Schlüssel liegt in Installation der Visual Studio Erweiterung "Linux und eingebettete Enwicklung C++".
    Die Ablage der Source Files in einem "shared Folder" lässt sich vermutlich durch ein wenig Google Recherche auch bei der Microsoft Lösung konfigurieren.


    Viel Erfolg beim Ausprobieren.


    Grüsse
    Greenhouse

  • Nachtrag:


    Ich bae nochmals in meinem Visual Studio Projekt herumgestöbert un den Eintrag zur Anpassung des Hostnamens für den Raspberry gefunden.


    In den Projekteigenschaften (Solution Explorer -> rechte Maus -> Eigenschaften) gibt es einen Eintrag "RemoteBuildComputer" dort kann der Hostname, Verbindungsart und Zugang zum Raspberry angepasst werden.


    Gruss
    Greenhouse

  • Raumsonde


    Hallo Raumsonde



    Den Raspberry mit "Visual Studio" zu programmieren ist eine Supersache.

    Ich selbst prorgrammiere den Raspberry "seit" VS 2015.


    Vorher habe ich mit Eclipse und Cross-Compiling gearbeitet. Das heißt, der C-Code wurde auf dem PC übersetzt. Anschließend wurde der ausführbare Code in den Raspberry hinein geladen.


    "Visual Studio" arbeitet mit Remote-Compiling. Dabei wird der Source-Code zum Raspberry geladen und auf dem Raspberry via GCC bzw. G++ überstetzt.

    Der Vorteil beim beim Remote-Compiling ist, dass der Wechsel zu einer anderen Hardware (Cortex, Banana Pi, ... usw.) sehr leicht zu bewerstelligen ist, da die Systeme ja ihren eigenen gcc immer mitbringen.

    Da lediglich immer nur die aktuell geänderten C-Dateien kopiert und neu übersetzt werden, spielt auch selbst bei sehr großen Projekten die Übersetzungszeit keine Rolle.


    Breakpoints können "on the fly" gesetzt und gelöscht werden. Zudem sind Breakpoints auf Daten-Zugriff möglich, d.h., ein Programm wird angehalten, wenn eine oder mehrere gewählte Variablen gelesen oder beschrieben werden.

    Variableninhalte können natürlich auch gesichtet und geändert werden.


    Nach der Installation von VS 2022 wird auch schon ein kleines Projekt für den Raspberry angeboten, um den Einstieg zu erleichtern.

    Das Programm lässt eine Leuchtdiode blinken. Dabei wird vorausgesetzt, dass "WiringPi" installiert ist.


    Zudem kann man damit auch mit einem Windows PC Programme für einen Linux PC schreiben und debuggen.

    Edited 3 times, last by Prittzl ().