Programm kompilliert, lässt sich aber nicht ausführen
-
-
@DocShoe sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Windows unterstützt beides, sowohl Forwärts- als auch Backwärtsslash.
Nein.
Der Forwärsslash kann nicht verwendet werden. Du kannst sogar auf Kommandozeile
a.exe/b.exe
schreiben und Windows führt danna.exe
mit dem Parameter/b.exe
aus, nicht aber die Dateib.exe
im Verzeichnisa.exe
.Mag jetzt an dem
cmd
liegen - und ich weiß nicht, ob das in Windows 11 immer noch so ist, aber so war das jedenfalls früher immer. Etwas anderes ist das, wenn man direkt Funktionen der WinAPI benutzt. Dann mag das gehen. Aber auf cmd-Kommandozeile nicht. (keine Ahnung, wie das in Powershell ist)
-
@wob
Es gibt leider einige compatibility-Hacks die immer noch drinnen sind, die dazu führen dass/
bei manchen Sachen nicht funktioniert. Deina.exe/b.exe
Beispiel geht z.B. wenn du den Pfad in"
setzt.Was ich auch schon beobachtet habe ist dass manche Sachen mit "gemischten" Pfaden nicht klarkommen. Also dass sowas wie
C:\Foo/bar\baz.exe
nicht geht,C:/Foo/bar/baz.exe
aber schon. IIRC war das Explorer. Bei API Calls oder Batch-Files ist mir sowas aber noch nicht aufgefallen.Aber auf cmd-Kommandozeile nicht.
Doch, geht. Man muss halt konsequent
""
verwenden. Was man aber sowieso sollte, wenn man Pfade mit Leerzeichen unterstützen will.
-
@hustbaer sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Doch, geht.
Ok, geht nicht in allen Fällen. Und offenbar hat @Annika doch hier in der Kommandozeile
./main
eingegeben, was eben genau nicht funktioniert, um eine Dateimain
im aktuellen Verzeichnis auszuführen. Daher meine Widerrede.Man muss halt konsequent "" verwenden. Was man aber sowieso sollte, wenn man Pfade mit Leerzeichen unterstützen will.
Ernsthaft? Wenn ich mein Porgramm im aktuellen Verzeichnis auf Kommandozeile aufrufe, von dem ich weiß, dass es kein Leerzeichen enthält, nutze ich NIE Quotes. Und ich bezweifle, dass du das tust. Von daher sehe ich hier den Zusammenhang nicht. Oder schreibst du wirklich
".\programm.exe"
in der Kommandozeile stattprogramm
? (ok, da man tab drückt, kommt das .exe automatisch - und die Quotes auch, wenn nötig)
-
@hustbaer sagte in Programm kompilliert, lässt sich aber nicht ausführen:
@DocShoe sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Backwärtsslash
Noch schlimmer ist aber
@wob und @DocShoe sagten in Programm kompilliert, lässt sich aber nicht ausführen:
Forwärts-Slash
-
Ach komm, das ist doch lustig. Forwärtssläsh.
-
@DocShoe sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Ach komm, das ist doch lustig. Forwärtssläsh.
-
@wob sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Man muss halt konsequent "" verwenden. Was man aber sowieso sollte, wenn man Pfade mit Leerzeichen unterstützen will.
Ernsthaft? Wenn ich mein Porgramm im aktuellen Verzeichnis auf Kommandozeile aufrufe, von dem ich weiß, dass es kein Leerzeichen enthält, nutze ich NIE Quotes. Und ich bezweifle, dass du das tust. Von daher sehe ich hier den Zusammenhang nicht. Oder schreibst du wirklich
".\programm.exe"
in der Kommandozeile stattprogramm
? (ok, da man tab drückt, kommt das .exe automatisch - und die Quotes auch, wenn nötig)Ich hatte da eher an Batch-Files gedacht. Und Pfade die man über Environment-Variablen bekommt. Solche Dinge.
Von daher sehe ich hier den Zusammenhang nicht.
Zusammenhang mit der Frage der OP besteht keiner, das stimmt. Aber Zusammenhang mit deiner Aussage die ich zitiert habe schon. Weil es halt schon mit
cmd.exe
geht, wenn man es denn richtig macht. Und das ist nicht unwichtig, wenn man mit Dingen interagieren muss die aus der POSIX Welt stammen.
-
@Quiche-Lorraine sagte in Programm kompilliert, lässt sich aber nicht ausführen:
@DocShoe sagte in Programm kompilliert, lässt sich aber nicht ausführen:
Ach komm, das ist doch lustig. Forwärtssläsh.
Mein Highlight des heutigen Tages ist die Diskussion was nun lustiger ist - Forwärtssläsh oder Backwärtsslash
-
-
-
@DocShoe
"Ich mag meine Familie kochen und meine Katze."
"Komm wir essen Opa."Satzzeichen können Leben retten!