Na dann werfen wir mal einen Blick in die Manpage.
Code:
SYNOPSIS
gcc [-c|-S|-E] [-std=standard]
[-g] [-pg] [-Olevel]
[-Wwarn...] [-pedantic]
[-Idir...] [-Ldir...]
[-Dmacro[=defn]...] [-Umacro]
[-foption...] [-mmachine-option...]
[-o outfile] [@file] infile...
Der relevante Part:
Code:
SYNOPSIS
gcc
[-o outfile] infile...
Was schlussfolgern wir daraus?
Das dürfte wohl die richtige Syntax sein. Die Input-Dateien müssen immer als letzte Parameter angegeben werden, da alte Versionen von GCC mit einer Umstellung der Parameter nicht immer umgehen können. Zusammenfassend könnte man die Syntax von gcc also so ausdrücken:
Code:
gcc <parameter> <quelldateien>
Im übrigen wäre es gut, wenn du die Code-Tags hier im Forum verwenden würdest, wenn du Quelltexte oder sonstige formatierte Texte darstellen willst. Das macht sie besser lesbar, da Einrückungen erhalten bleiben.
Code:
#include <stdio.h>
int main(void)
{
printf("Das ist mein 1. Programm.\n");
return 0;
}
Ausserdem ist dein Source falsch. Die Header-Datei, die du inkludieren willst, heisst stdio.h und nicht stdio. Und üblicherweise macht man hinter dem # bei Präprozessor-Direktiven kein Freizeichen, auch wenn einige Compiler damit mittlerweile umgehen können. Also nicht '# include ...' sondern '#include ...'.
Edit: Wäre dein Fehler übrigens nur die fehlende Dateiendung bei der Header-Datei gewesen, hätte GCC dir einen entsprechenden Fehler ausgegeben:
Code:
first.c:1:18: error: stdio: No such file or directory
first.c: In function 'main':
first.c:5: warning: incompatible implicit declaration of built-in function 'printf'
und hätte nicht einfach das Terminal blockiert.