none
Umgebungsvariablen und Path RRS feed

  • Frage

  • Hallo!

    Ich habe vor kurzem ein Studium begonnen und bin ein Programmieranfänger. Wir haben den Compiler "gcc" empfohlen bekommen, jedoch haben wir über unsere Fakultät auch Zugriff auf das Microsoft Imagine Programm und können so beispielsweise die kommerzielle Variante der IDE Visual Studios ausprobieren. Diese bringt ihren eigenen Compiler Visual C++ mit. Ich möchte mit den Fragen eventuelle Probleme vorbeugen und für mich selbst für Klarheit sorgen.

    Mein Betriebssystem ist Windows 10 (Education) 64-bit.

    Meine Fragen dazu:

    - Frage1: Kann ich mehrere Compiler für denselben Zweck installieren (Also beispielweise gcc und Visual C++)?

    - Frage2: Vor allem, kann ich mehrere Compiler für denselben Zweck als neue Umgebungsvariable oder in Path hinterlegen?

    (im Internet findet man dazu unterschiedliche Antworten. Einige sagen es sei kein Problem, andere sagen es führe zu Problemen)

    Darüber hinaus:

    - Frage 3: Was ist der Unterschied zwischen einer neuen Umgebungsvariablen (mit Pfad als Wert) und den Pfad in die bereits bestehende Path-Variable einzutragen?

    bzw. macht dies ein Unterschied?

    Beispiel: In unserer Installationsanleitung gibt es zwei Wege die zum selben Ergebnis führen.

    Nr1: Den Compiler-Pfad in die Path-Systemvariable eintragen.

    Nr2: Für den Compiler eine neue Systemvariable erstellen und dort den Pfad als Wert hinterlegen.

    - Frage 4: Macht es dann einen Unterschied, wenn ich gcc als "neue Systemvariable" und Visual C++ nur in "Path" hinterlege?

    Mit freundlichen Grüßen und vielen Dank für Antworten!



    • Bearbeitet Pascal_S Sonntag, 22. Oktober 2017 12:09
    Sonntag, 22. Oktober 2017 11:59

Antworten

  • Frage 1: eindeutig Ja

    Frage 2: da jeder Compiler seine eigenen Aufrufe mitbringt, hängt man den Path einfach in die Systemvariable PATH hinten dran. Allerdings hat eigentlich jeder Compiler so ein paar Tools drumrum:
    VisualStudio's IDE hat im Menü Aufrufe des Compilers, zur Ausführung und des Debuggers. Der PATH wird in der Installation gesetzt.
    Alle anderen C++-Compiler-IDE's gehen ähnlich vor.
    Der gcc ist nun mal die reine Kommando Ebene um überhaupt Umwandeln zu können, aber mit so rudimentären Compilern sollte man sich heutzutage nicht mehr rumschlagen.

    VisualStudio Express bietet für C#/VB komplette Unterstützung um bereits gute Anwendungen zu entwickeln.
    Da würde ich persönlich bereits auf C++ verzichten.

    Frage 3: Der Unterschied ist schon gewaltig.
    Beim Eintrag in PATH sucht das System über alle Einträge die auszuführende Datei.
    Bei einer eigenen Variable, z.B. "GCCPATH", kannst du den GCC nur durch "%GCCPATH%\gcc ..." aufrufen. Das System hilft dir dabei nicht.

    Frage 4: Diese Frage verstehe ich ja nun gar nicht.
    Da jede Anwendung für sich selber spricht, kann man hier individuell entscheiden. Wie gesagt, die meisten werden Installiert und die Installer sorgen für den reibungslosen Ablauf. Man kann seine Anwendung in den PATH legen, man muss es aber nicht, wenn man seine Aufruf ins Menüsystem einträgt. Nach dem Aufruf entscheidet dann sowieso die Anwendung.

    Bzgl. des GCC würde ich michnoch intensiv mit dem Thema "makefile" auseinander setzen.

    Sonntag, 22. Oktober 2017 13:17
  • Zur Frage 2:

    Heißt dies also, ich kann in Path sowohl den Pfad von gcc (sprich: "C:\MinGW\bin") als auch von Visual C++ setzen, ohne Komplikationen zu befürchten?

    Moin,

    der Sinn von PATH ist doch nur, dass, wenn Du den Befehl "program.exe" eingibst, das System versucht, diese EXE in Deinem aktuellen Verzeichnis UND in den unter PATH aufgelisteten Pfaden zu finden, und zwar in der Reihenfolge, wie sie da aufgelistet sind. Wenn Programm1 und Programm2 unterschiedliche EXEn haben, stören sich bzgl. PATH nicht. Wenn sie gleich heißen, schon ;-)

    EDIT: Und wenn Dein Aufruf einen absoluten Pfad verwendet, spielt PATH überhaupt keine Rolle.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    Sonntag, 22. Oktober 2017 14:28

Alle Antworten

  • Frage 1: eindeutig Ja

    Frage 2: da jeder Compiler seine eigenen Aufrufe mitbringt, hängt man den Path einfach in die Systemvariable PATH hinten dran. Allerdings hat eigentlich jeder Compiler so ein paar Tools drumrum:
    VisualStudio's IDE hat im Menü Aufrufe des Compilers, zur Ausführung und des Debuggers. Der PATH wird in der Installation gesetzt.
    Alle anderen C++-Compiler-IDE's gehen ähnlich vor.
    Der gcc ist nun mal die reine Kommando Ebene um überhaupt Umwandeln zu können, aber mit so rudimentären Compilern sollte man sich heutzutage nicht mehr rumschlagen.

    VisualStudio Express bietet für C#/VB komplette Unterstützung um bereits gute Anwendungen zu entwickeln.
    Da würde ich persönlich bereits auf C++ verzichten.

    Frage 3: Der Unterschied ist schon gewaltig.
    Beim Eintrag in PATH sucht das System über alle Einträge die auszuführende Datei.
    Bei einer eigenen Variable, z.B. "GCCPATH", kannst du den GCC nur durch "%GCCPATH%\gcc ..." aufrufen. Das System hilft dir dabei nicht.

    Frage 4: Diese Frage verstehe ich ja nun gar nicht.
    Da jede Anwendung für sich selber spricht, kann man hier individuell entscheiden. Wie gesagt, die meisten werden Installiert und die Installer sorgen für den reibungslosen Ablauf. Man kann seine Anwendung in den PATH legen, man muss es aber nicht, wenn man seine Aufruf ins Menüsystem einträgt. Nach dem Aufruf entscheidet dann sowieso die Anwendung.

    Bzgl. des GCC würde ich michnoch intensiv mit dem Thema "makefile" auseinander setzen.

    Sonntag, 22. Oktober 2017 13:17
  • Vielen Dank!

    Frage 1 und Frage 3 sind soweit geklärt. Frage 4 kann nun ausgeklammert werden.

    Zur Frage 2:

    Heißt dies also, ich kann in Path sowohl den Pfad von gcc (sprich: "C:\MinGW\bin") als auch von Visual C++ setzen, ohne Komplikationen zu befürchten?

    Zum besseren Verständnis:

    Wir haben den gcc Compiler, aus dem Toolset von MinGW, im Zusammenhang mit der IDE eclipse als Empfehlung erhalten (so ist es aktuell installiert und funktioniert).

    Ich möchte die IDE Visual Studio (Enterprise) inklusive dessen Compiler als Vergleich ausprobieren. Im Studium behandeln wir die Programmiersprachen C, C++ (hauptsächlich), Java und Python.  

    Mit freundlichen Grüßen

    Pascal

    Sonntag, 22. Oktober 2017 13:59
  • Zur Frage 2:

    Heißt dies also, ich kann in Path sowohl den Pfad von gcc (sprich: "C:\MinGW\bin") als auch von Visual C++ setzen, ohne Komplikationen zu befürchten?

    Moin,

    der Sinn von PATH ist doch nur, dass, wenn Du den Befehl "program.exe" eingibst, das System versucht, diese EXE in Deinem aktuellen Verzeichnis UND in den unter PATH aufgelisteten Pfaden zu finden, und zwar in der Reihenfolge, wie sie da aufgelistet sind. Wenn Programm1 und Programm2 unterschiedliche EXEn haben, stören sich bzgl. PATH nicht. Wenn sie gleich heißen, schon ;-)

    EDIT: Und wenn Dein Aufruf einen absoluten Pfad verwendet, spielt PATH überhaupt keine Rolle.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com


    Sonntag, 22. Oktober 2017 14:28
  • Hallo!

    Vielen Dank für die Antwort.

    Dann hat sich alles geklärt.

    Mit freundlichen Grüßen

    Sonntag, 22. Oktober 2017 14:37