2014-06-21 7 views
5

Hallo an alle, ich lerne C und versuche herauszufinden, wie es über die Befehlskonsole cmd ausgeführt wird. Ich habe eclipse zusammen mit Mingw installiert und hinzugefügt diese auf den Weg:C-Programm kann nicht über cmd ausgeführt werden

C: \ MinGW \ bin \; C: \ MinGW \ msys \ 1.0 \ bin

ich dieses Programm auf Notepad ++ für einen schnellen Test geschrieben laufen und speichern sie sie auf C: \ test.c und auch unter einem Ordner C: \ Benutzer \ Pikachu \ Music \ C-Code, während ich versuchte, es herauszufinden:

#include <stdio.h> 

int main() 
{ 
    printf("Hey, Buddy!\n"); 
    return 0; 
} 

auf der cmd-Konsole ich tippte:

c:\>gcc test.c 

und bekam den Fehler m Nachricht:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/id.exe: cannot ope 
n output file a.exe: Invalid argument 
collect2.exe: error: ld returned 1 exit status 

Als ich getippt:

c:\>cd c:\Users\Pikachu\Music\c code 

und dann:

gcc test.c

es einfach übersprungen eine Linie, als ob nichts passiert ist, und ging ein auf Platz zurück :

c:\Users\Pikachu\Music\c code>gcc test.c 

c:\Users\Pikachu\Music\c code> 

Ich habe mich gefragt, ob jemand weiß, was vor sich geht und mir helfen könnte. Ich wäre so glücklich, wenn ich "Hey, Buddy" von cmd sehen könnte! Weiß jemand auch, warum ich die Fehlermeldung bekomme, die es von c: \ und nichts ausführt, wenn ich es aus dem Music \ c code \ test.c-Ordner starte, obwohl ich angeblich die gleiche Datei test.c ausführen soll?

Ich habe versucht, herum zu suchen und habe Referenzen darüber, wie der Computer nicht mit der richtigen DLL verknüpft werden kann, aber ich bin mir nicht sicher, wie dies zu meinem spezifischen Problem zu implementieren.

Oh und seltsam genug, als ich versuchte, eine andere Datei in c: zu speichern. Ich bekam eine Nachricht, dass ich keine Erlaubnis hatte, das zu tun, obwohl ich 5 Minuten vorher genau das getan hatte. Irgendwelche Einsichten?

Danke für Ihre Hilfe!

+1

Eine einfache Google-Suche würde Ihnen zeigen, dass der Befehl eindeutig nicht schreiben, beim Kompilieren sollten Sie -o Parameter verwenden und Sie sollten auch die Ausgabedatei schreiben. gcc -o MY_OUTPUT_FILE_WANTED_NAME.exe MY_C_FILE_NAME.c nach dem Kompilieren, einfach durch den Cmd ausführen, indem Sie den Namen Ihrer Ausgabedatei eingeben –

Antwort

3

Wenn Sie gcc auf Ihrer C-Quelldatei ausführen, generiert alles, was es tut, eine ausführbare Datei. Ich glaube, sein a.exe standardmäßig genannt, aber ich würde empfehlen, es mit der -o Option Benennung:

gcc text.c -o test.exe 

Sobald die Datei erfolgreich kompiliert wird, die ausführbare Datei ausführen, um den worls um Hallo zu sagen:

c:\Users\Pikachu\Music\c code> .\test.exe 

Wie für den ersten Fehler, den Sie haben, hat es vielleicht damit zu tun, dass gcc nicht in der Lage ist, die ausführbare Datei im Root-Ordner c: zu erstellen. Ich würde empfehlen, dass Sie aus irgendeinem Grund einen Ordner erstellen, den Ihr Benutzer besitzt, anstatt ihn in einem Systemordner zu speichern.


Übrigens unterstützt gcc viele andere Optionen.Ich empfehle dringend, -Wall zu verwenden, um Warnungen zu aktivieren und auszuwählen, welche Version des C-Standards folgen soll (-std=c99 oder -ansi, zusammen mit dem -pedantic Flag).

+0

Ja, das ist es! Ich musste tun: gcc test.c -o test.exe und dann direkt nachdem ich test.exe eingegeben und drückte auf Enter und es hieß Hey, Buddy! in der nächsten Zeile vielen Dank! – 000

+0

@ user3763636: Fiel frei zu akzeptieren/upvote dann :) – hugomg

+0

Wo würde ich diese Optionen in Eclipse oder cmd implementieren? Ich habe versucht, gcc -Wall warnen, aber nichts kam. – 000

Verwandte Themen