2016-11-04 2 views
1

간단한 C 프로그램을 작성하는 동안 "printf"가 결과를 생성하지 못하는 문제가 발생했습니다. 코드 :Cygwin에서 C 프로그램을 실행해도 결과가 생성되지 않습니다

#include<stdio.h> 
int main() 
{ 
printf("Hello World\n"); 
} 

Cygwin에서 로그 컴파일하고 실행 한 후 :

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ gcc test.c -o test.exe 

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ test.exe 

[email protected] /cygdrive/c/users/MMGV/Desktop/Programme 
$ 

오류 메시지, 단순히 아무것도. Windows GUI에서 생성 된 .exe를 열면 작동하지 않습니다. 도움 주셔서 감사합니다! 당신이 그것을 볼 수있는 기회를하기 전에 Windows의 콘솔 창 아마 닫기 때문에

+1

메시지 뒤에 '\ n'을 추가하십시오. 라인의 끝이 없으면 버퍼를 플러시 할 수 없습니다. –

+0

작동하지 않음 :/ – Maspital

+1

어쨌든 개행 문자가 있어야합니다. 개행과 함께 문제가 계속 발생하는지 확인하려면 문제의 코드에 추가하십시오. 프로그램을 정확히 어떻게 실행하려고 했습니까? 쉘 프롬프트에서'./hello'와 같은 것을 입력 했습니까? Windows GUI에서'.exe' 파일을 더블 클릭 했습니까? –

답변

1

#include<stdio.h> 
int main() 
{ 
    printf("Hello World\n");   // add newline 
    getchar();       // wait for an input (newline) 
} 

에 프로그램을 변경

.

+0

Windows GUI에서 작동합니다. 하지만 Cygwin에서 나는 아무것도 볼 수없는 이유는 무엇입니까? – Maspital

+0

cygwin은 내게 알려지지 않았습니다. 난 그냥 MSVC 콘솔에서, 심지어는 IDE를 사용합니다. –

1

프로그램을 실행하지 않습니다. Cygwin 쉘은 기본적으로 경로에 현재 디렉토리가 없습니다. test.exe은 표준 유닉스 계열 유틸리티 (which test 시도)로 해결되었습니다. 현재 디렉토리의 명시 성을 지정해야합니다 :

$./test.exe 
관련 문제