Wie führe ich eine Datei in Cygwin aus?

Lesezeit: 2 Minuten

Benutzeravatar von Thomas Owens
Thomas Owens

Wie kann ich ausführen a.exe mit der Cygwin-Shell?

Ich habe eine C-Datei in Eclipse unter Windows erstellt und dann mit Cygwin zu dem Verzeichnis navigiert. Ich habe gcc in der C-Quelldatei aufgerufen und a.exe wurde produziert. Ich möchte laufen a.exe.

./a.exe an der Eingabeaufforderung

  • ./a funktioniert auch; Cygwin ist schlau genug, um zu behandeln a.exe wie a (aus Gründen der Kompatibilität mit Unix, das keine Standardeinstellung verwendet .exe Suffix für ausführbare Dateien).

    – Keith Thompson

    1. Juni 2015 um 21:18 Uhr

Sie sollten es einfach aufrufen können, indem Sie den Dateinamen eingeben. Möglicherweise müssen Sie ./a.exe aufrufen, da das aktuelle Verzeichnis aus Sicherheitsgründen normalerweise nicht im Pfad liegt.

Geben Sie einfach ./a in die Shell ein

  • Weißt du warum das funktioniert. ./a.exe macht Sinn, aber ohne Erweiterung sollte dies nicht laufen. Irgendein bestimmter Grund?

    – Saurabh Rana

    10. Oktober 2013 um 15:47 Uhr

  • Das wäre wahrscheinlich Cygwin, der Dinge herausfindet und schlau ist. UNIX-Programme haben normalerweise keine Dateiendung, wenn also cygwin darauf abzielt, unter Windows ein UNIX-Feeling zu vermitteln, ist es sinnvoll, die Möglichkeit zu geben, die Programmdateierweiterung auszulassen.

    – Lindhe

    18. Dezember 2014 um 22:23 Uhr

Um eine Datei im aktuellen Verzeichnis auszuführen, ist die zu verwendende Syntax: ./foo

Wie von Allain erwähnt, ./a.exe ist der richtige Weg, um eine.exe im Arbeitsverzeichnis mit Cygwin auszuführen.

Hinweis: Möglicherweise möchten Sie die verwenden -o Parameter zu cc um Ihren eigenen Ausgabedateinamen anzugeben. Ein Beispiel hierfür wäre: cc helloworld.c -o helloworld.exe.

Thomas schrieb:

Anscheinend verhält sich gcc nicht wie in Die Programmiersprache C beschrieben

Es tut im Allgemeinen. Damit Ihr Programm unter Windows läuft, muss es auf .exe enden, „die C-Programmiersprache“ wurde nicht für Windows-Programmierer geschrieben. Wie Sie gesehen haben, emuliert cygwin viele, aber nicht alle Funktionen einer POSIX-Umgebung.

Benutzeravatar von goldenmean
goldene Mitte

gcc unter cygwin generiert keine ausführbare Linux-Ausgabedatei des Typs „ELF 32-Bit LSB Executable“, aber es generiert eine ausführbare Windows-Datei des Typs „PE32 Executable for MS Windows“, die eine Abhängigkeit von cygwin1.dll hat, also muss es unter der Cygwin-Shell ausgeführt werden. Wenn Sie es unabhängig unter der DOS-Eingabeaufforderung ausführen müssen, muss sich die cygwin1.dll in Ihrem Windows-PFAD befinden.

-ANZEIGE.

Benutzeravatar von Bernard
Bernhard

Anscheinend verhält sich gcc nicht wie in Die Programmiersprache C beschrieben, wo es heißt, dass der Befehl cc helloworld.c eine Datei namens a.out erzeugt, die durch Eingabe von a.out an der Eingabeaufforderung ausgeführt werden kann.

Ein Unix hat sich seit langem nicht mehr standardmäßig so verhalten (also können Sie den Namen der ausführbaren Datei einfach ohne ./ am Anfang schreiben). Es heißt a.exe, weil Windows es sonst nicht ausführt, da es Dateitypen von der Erweiterung erhält.

1408500cookie-checkWie führe ich eine Datei in Cygwin aus?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy