2014-06-21 30 views
5

Ciao a tutti quelli che sto imparando C e sto cercando di capire come eseguirlo attraverso il cmd della console di comando. Ho Eclipse installato con Mingw e ha aggiunto questi al percorso:Impossibile eseguire il programma C tramite cmd

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

Ho scritto questo programma sul blocco note ++ per un test rapido correre e salvarlo in C: \ test.c e anche sotto una cartella C: \ Users \ code Pikachu \ Musica \ C mentre stavo cercando di capirlo:

#include <stdio.h> 

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

Sulla console cmd ho digitato:

c:\>gcc test.c 

e ha ottenuto l'errore m essaggio:

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 

Quando ho digitato:

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

e poi:

gcc test.c

solo saltato una linea come se niente fosse e tornò al punto di partenza :

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

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

Mi stavo chiedendo se qualcuno sa cosa sta succedendo e potrebbe darmi una mano, sarei così felice se potessi vedere "Hey, amico" da cmd! Qualcuno sa anche perché ottengo il messaggio di errore eseguendolo da c: \ e niente quando lo eseguo dalla cartella Music \ c code \ test.c anche se presumibilmente sto eseguendo lo stesso file test.c?

Ho provato a cercare in giro e ho raccolto riferimenti su come il computer non può collegarsi alla dll corretta, tuttavia non sono sicuro di come implementarlo al mio problema specifico.

Oh e curiosamente quando ho provato a salvare un altro file in c: \ Ho ricevuto un messaggio che diceva che non avevo il permesso di farlo anche se 5 minuti prima avevo fatto proprio questo. Qualche intuizione?

Grazie per il vostro aiuto!

+1

Una semplice ricerca su google mostrerebbe che il comando non è chiaramente scritto, durante la compilazione dovresti usare -o parametro e dovresti scrivere anche il file di output. gcc -o MY_OUTPUT_FILE_WANTED_NAME.exe MY_C_FILE_NAME.c dopo la compilazione, basta eseguirlo attraverso il cmd digitando il nome del file di output scelto –

risposta

3

Quando si esegue gcc nel file di origine C, tutto ciò che verrà generato genererà un file eseguibile. Credo che la sua chiamata a.exe di default, ma mi sento di raccomandare la denominazione con l'opzione -o:

gcc text.c -o test.exe 

volta che il file è stato compilato con successo, eseguire l'eseguibile per dire ciao ai worls:

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

Per quanto riguarda il primo errore, forse ha a che fare con gcc non essere in grado di creare l'output eseguibile nella cartella radice c:. Suggerirei di eseguire la codifica di una cartella posseduta dall'utente anziché su una cartella di sistema per questo motivo.


A proposito, gcc supporta molte altre opzioni.Consiglio vivamente di utilizzare -Wall per attivare gli avvisi e scegliere quale versione dello standard C seguire (-std=c99 o -ansi insieme al flag -pedantic).

+0

Sì, questo è tutto! Ho dovuto fare: gcc test.c -o test.exe e subito dopo ho appena digitato test.exe e premuto invio e ha detto Hey, amico! nella riga successiva grazie mille! – 000

+0

@ user3763636: Fell libero di accettare/upvote quindi :) – hugomg

+0

Dove dovrei implementare queste opzioni in Eclipse o cmd? Ho provato googling gcc -Wall warning ma non è venuto fuori nulla. – 000

Problemi correlati