a.out geht nicht
-
Hallo!
Wenn ich mein C-Programm comiliere und ich anschließend in der Konsole a.out
eingebe, dann kommt "bash: a.out command not found". Erstelle ich mein C.Programm so : cc -c test test.c und gebe dann test ein, passiert auch nichts!
Muß man noch irgend ein Zeichen mit eingeben?
Ich arbeite mit SuSe Linux 8.2Danke schonmal im voraus!
Mfg
-
- Versuchs mal mit ./a.out
- hast Du a.out auch ausführbar gemacht ( chmod ) ?
- test ist ein System-Programm : man test
-
Die shell sucht die Befehle die du eingibst nur im Suchpfad, d.h. in den Verzeichnissen, die in $PATH aufgelistet sind. Das aktuelle Verzeichnis ist dort normalerweise nicht drin, deshalb mußt du es explizit angeben:
./a.out ./test
(wenn bei test nix passiert liegt das daran, dass (/usr)/bin/test oder das gleichnamige Shell-builtin ausgeführt wird)
-
^Hanns schrieb:
- hast Du a.out auch ausführbar gemacht ( chmod ) ?
Brauch er nicht
Bashar schrieb:
(wenn bei test nix passiert liegt das daran, dass (/usr)/bin/test oder das
gleichnamige Shell-builtin ausgeführt wird)Nicht wenn er ./test aufruft.
mfg
v R
-
naja, wenn er test aufruft, dann ruft er nicht ./test auf, sondern test ...
-
Um jetzt nicht auf das Programm "test" einzugehen.
Benenne auch Programme die scheinbar sinnlos (weil vieleicht nur HALLO WELT)sind auch sinnvoll.cc -c hallowelt hallowelt.c
-
und nicht vergessen, dass die -c Option eine andere Bedeutung als die -o Option hat
so erzeugt man auch keine lauffähigen Programme, den Fehler hab ich auch mal gemacht, einfach das -c in den Optionen vergessen
-
Hallo!
Erstmal Danke an Alle, für Eure Antworten!!
Das hat mir sehr geholfen, denn jetzt funktioniert´s.
Das "test" auch ein System-Programm ist, das hab ich vergessen.Mfg
-
ich benenne sinnlose Programme nie sinnvoll, sondern einfach a.out. sonst hätt ich ja in meinem sinnlos-Verzeichnis zu jeder .c bzw. .cc ein sinnloses executable