2014-06-21 25 views
5

Witam wszystkich uczę C i próbuję dowiedzieć się, jak go uruchomić poprzez cmd konsoli poleceń. Mam eclipse zainstalowany wraz z MinGW i dodaje je do ścieżki:Nie można uruchomić program C przez cmd

C: \ MinGW \ bin \ C: \ MinGW \ Msys \ 1.0 \ bin

napisałem ten program Notepad ++ dla szybkiego testu uruchomić i zapisać go do katalogu C: \ test.c a także pod folderze C: \ Users \ kod Pikachu \ Muzyka \ C, a ja starałem się zrozumieć to:

#include <stdio.h> 

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

na konsoli cmd wpisałem:

c:\>gcc test.c 

i otrzymałem błąd m essage:

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 

Kiedy wpisałem:

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

, a następnie:

gcc test.c

po prostu pomijane linię tak, jakby nic się nie stało i wrócił do punktu wyjścia :

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

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

Zastanawiałem się, czy ktoś wie, co się dzieje i może mi pomóc, byłbym bardzo szczęśliwy, gdybym zobaczył "Hej, kolego" z cmd! Czy ktokolwiek wie również, dlaczego pojawia się komunikat o błędzie uruchamiający go z c: \ i nic, gdy uruchamiam go z folderu Music \ c code \ test.c, mimo że podobno uruchamiam ten sam plik test.c?

Próbowałem wyszukiwanie wokół i wybrali się referencje, jak komputer nie może połączyć się do prawidłowego dll jednak nie jestem pewien, jak zaimplementować to do mojego konkretnego problemu.

No i co ciekawe, gdy próbowałem zapisać inny plik w c: \ Otrzymałem wiadomość, że nie mam pozwolenia, aby to zrobić, chociaż 5 minut wcześniej zrobiłem właśnie to. Wszelkie spostrzeżenia?

Dzięki za pomoc!

+1

Proste wyszukiwanie google pokazałoby, że polecenie wyraźnie nie jest napisane, podczas kompilacji powinieneś użyć parametru -o i powinieneś również zapisać plik wyjściowy. gcc -o MY_OUTPUT_FILE_WANTED_NAME.exe MY_C_FILE_NAME.c po kompilacji, uruchom ją przez cmd, wpisując wybraną nazwę pliku wyjściowego –

Odpowiedz

3

Po uruchomieniu gcc w pliku źródłowym C, wszystko, co to zrobi, wygeneruje plik wykonywalny. Wierzę, że jego nazwie a.exe domyślnie ale polecam nazywania go z opcją -o:

gcc text.c -o test.exe 

Gdy plik zostanie pomyślnie skompilowany, uruchom plik wykonywalny, aby przywitać się worls:

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

Co do pierwszego błędu masz, może to ma coś wspólnego z gcc nie jest w stanie utworzyć plik wykonywalny wyjściowy na c: folderu głównego. Zalecam wykonanie kodowania folderu, który należy do użytkownika, zamiast do folderu systemowego z tego powodu.


Nawiasem mówiąc, gcc obsługuje wiele innych opcji.Zaleca się używanie -Wall do włączania ostrzeżeń i wybierania wersji standardu C (-std=c99 lub -ansi wraz z flagą -pedantic).

+0

Tak, to jest to! Musiałem zrobić: gcc test.c -o test.exe, a potem zaraz po prostu wpisałem test.exe i nacisnąłem enter i powiedziało Hej, Buddy! w następnej linii, dzięki bardzo! – 000

+0

@ user3763636: Czułem się wolny, aby zaakceptować/upvote wtedy :) – hugomg

+0

Gdzie mogę zaimplementować te opcje w Eclipse lub cmd? Próbowałem googling gcc -Wall ostrzeżenie, ale nic nie wymyślił. – 000