Ich versuche, eine Hallo-Welt app zu kompilieren:Warum funktioniert "8g foo.go -o foo.8" nicht für mich in der Befehlszeile go?
8g test1.go -o test1.8
Fehler:
open -o: No such file or directory
hier Irony ist, dass das funktioniert gut, wenn ich -o weglassen:
8g test1.go
Wie geben Sie einen Objektdateinamen für den Befehlszeilencompiler 8g
an?
(8G-Version release.r60 9481)
Leider ist dies eher willkürlich und nicht benutzerfreundlich. gcc ist der Standard, gegen den andere Befehlszeilen in intuitivem Verhalten entweder bestehen oder fehlschlagen. Dachten sie, dass jemand eine Datei namens -foo kompilieren und sie auf -foo.8 kompilieren möchte? –
@WarrenP, obwohl viele Programme jetzt die Parameter in irgendeiner Reihenfolge nehmen, gibt es immer noch eine Menge, die nicht. Als Faustregel gilt, dass immer Optionen vor den Dateien angegeben werden. – Shahbaz
@WarrenP Ich kenne den genauen Grund für diese Konvention nicht, aber es wird überall in Go verwendet. Zum Beispiel besagt die Dokumentation für das Paket 'flag', dass" das Flag-Parsing kurz vor dem ersten Nicht-Flag-Argument stoppt ". –