2014-06-21 4 views
5

안녕하세요. 저는 C를 배우며 명령 콘솔 cmd를 통해 실행하는 방법을 찾으려고합니다. 나는와 Mingw와 함께 설치 경로에 이러한 추가 이클립스 한 :cmd를 통해 C 프로그램을 실행할 수 없습니다.

C :는 MinGW \ \ 빈 \; C :는 MinGW \ \ MSYS 나는 빠른 테스트 ++ 메모장에이 프로그램을 작성

1.0 \ 빈 \ \ TEST.C 또한 폴더 C 아래를 : 실행하고 C에 저장 사용자에게 \ \ 피카추 \ 음악 \ C 코드 내가 그것을 알아 내려고 노력하는 동안 : 내가 입력 한 cmd를 콘솔에

#include <stdio.h> 

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

를 :

c:\>gcc test.c 

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 

내가 입력 : 다음

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

과 :

GCC의 TEST.C

는 아무 일도없는 것처럼 단지 라인을 생략하고 원점으로 되돌아 갔다 :

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

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

내가 무슨 일이 일어나고 있는지 알고 있고 나를 도울 수 있는지 궁금 해서요, 내가 cmd에서 "Hey, Buddy"를 볼 수 있다면 너무 행복 할거야! 누구도 내가 왜 같은 파일 test.c를 실행한다고해도 c : \와 Music \ c code \ test.c 폴더에서 실행할 때 오류 메시지가 나타나는 것을 알 수 있습니까?

나는 주위의 검색을 시도하고 컴퓨터가 적절한 DLL에 연결할 수없는 방법에 대한 참조를 집어 들었지만,이 문제를 특정 문제에 어떻게 구현해야할지 모르겠습니다.

오, 내가 c : \에 다른 파일을 저장하려고 할 때 충분히 신기하게도 내가 5 분 전에이 작업을 수행 했음에도 불구하고 그렇게 할 수있는 권한이 없다는 메시지가 나타납니다. 어떤 통찰력?

도움 주셔서 감사합니다.

+1

간단한 google 검색은 명령이 명확하게 작성되지 않았 음을 보여줍니다. 컴파일 할 때 -o 매개 변수를 사용해야하고 출력 파일을 작성해야합니다. gcc -o MY_OUTPUT_FILE_WANTED_NAME.exe MY_C_FILE_NAME.c 컴파일 후 선택한 출력 파일 이름을 입력하여 cmd를 실행하십시오. –

답변

3

C 소스 파일에서 gcc을 실행하면 실행 파일을 생성하는 모든 작업이 수행됩니다. 나는 믿는다는 기본적으로 a.exe라고하지만 난 -o 옵션으로 명명 추천 할 것입니다 : 파일이 성공적으로 컴파일되면

gcc text.c -o test.exe 

에서, Worls의에게 인사하는 실행 파일을 실행

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

첫 번째 오류에 대해서는 아마도 gcc가 루트 c: 폴더에서 실행 가능한 출력을 생성 할 수 없다는 것과 관련이 있습니다. 이 이유 때문에 시스템 폴더 대신 사용자가 소유 한 폴더를 코딩하는 것이 좋습니다.


그런데 gcc는 다른 많은 옵션을 지원합니다.-Wall을 사용하여 경고를 켜고 따르는 C 표준 버전 (-std=c99 또는 -ansi과 함께 -pedantic 플래그)을 선택하는 것이 좋습니다.

+0

예! 나는해야했다 : gcc test.c -o test.exe 그리고 나서 바로 test.exe를 입력하고 엔터 키를 누른 후 바로 이봐, 친구 야! 다음 라인에 너무 감사드립니다! – 000

+0

@ user3763636 : 허용/upvote 다음 무료 :) – hugomg

+0

이클립스 또는 cmd 이러한 옵션을 구현할 것이라고? 나는 인터넷 검색을 시도했지만, 아무 것도 나오지 않았다. – 000

관련 문제