inflearn logo
강의

Course

Instructor

Hong Jung-mo's C Programming: Learning by Doing

1.13 비쥬얼스튜디오 코드 프로그램 사용법 질문드립니다.

490

ewak01

8 asked

0

제가 실행시키고 싶은 파일은 JUNE 파일로 출력물이 "Your output is %d" 가 나오길 원합니다. 

그러나 terminal에  gcc main.c 입력 후 .\a.exe  를 누르면  main.c 파일의 출력물인 "Your input is %d"가 나옵니다. 

JUNE 파일에 있는 문자열을 어떻게 출력하는지 방법이 궁급합니다. (강의에선 단순히 파일이 하나 있을 때만 출력하는 법을 알려주셨습니다. 파일이 여러 개 있을 경우 원하는 파일을 선택해서 출력하는 방법이 궁금합니다.)

-----------------------------------------------------------------------------------------------------------------------

강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)

질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. 
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!

구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.

기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. 
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. 
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 

c

Answer 7

1

ewak01

오.... 뒤늦게 이해가 갔습니다. 감사합니다!

1

Hello Yeo

하나 더 알려드려서 혼동을 일으켰군요.
'안녕하세요?

현재 main.c 파일을 컴파일하고 계신데, JUNE.c 파일을 컴파일 하시면 됩니다.'
여기까지가 원래 질문의 답변이었습니다.
이후 내용은 gcc JUNE.c 를 시도하시면 a.exe에 덮어씌워질 것이기 때문에 알려드렸던 것입니다.

gcc .... 와
gcc -o ...  .... 모두 어떤 파일을 컴파일 한다는 것은 같고
gcc -o를 통해서는 결과물의 이름을 정할 수 있는 것입니다.

0

ewak01

컴파일 결과의 파일을 변경한다는 의미인 gcc -o JUNE main.c 을 했더니 왜 exe파일이 생기는지 궁금하네요. gcc JUNE.c 로 입력해야 exe파일이 생기는게 아닌가요?

왜 파일이름을 변경하는 법을 알려주셨는지요? 이 방법을 알려주셨다는 것은 결과적으로 제가 상기에 '답변의 요지는...'이란 내용과 부합하는건가요?

0

ewak01

답변의 요지는...

"JUNE.c 파일 terminal에서 제가 애초에 컴파일을 gcc JUNE.c가 아닌 gcc main.c로 하므로써 JUNE.exe 파일이 생기지 않코 main.exe파일에 main.c와 JUNE.c가 들어가 있었다. 그래서 gcc -o JUNE main.c (컴파일 이름 변경)을 통해  main.exe로 중복된 파일이 2개로 나눠져서 즉, 기존의 main.exe와 앞서 컴파일 이름 변경 (main ㅡ> JUNE.c) 를 통해 JUNE.exe가 생기게 됬다. "

는 거입니까? 혼동이 오네요. ..

0

Hello Yeo

gcc 'main.c' 에서 main.c 가 컴파일할 파일의 이름입니다.
gcc -o program_name 'main.c' 에서도 동일합니다.
-o 옵션을 사용하지 않으면 파일이름은 a 로 정해집니다.

0

ewak01

감사합니다. 하지만 VS code에서 JUNE파일을 컴파일 하는 방법이 어떻게 되는지 궁금합니다.

JUNE파일 출력을 terminal 안에 gcc JUNE.c 로 쓴 후 .\a.exe 를 실행시키니 JUNE파일에 들어있는 문자열을 올바르게 출력했습니다. 그러나 JUNE.exe파일 이 gcc JUNE.c 를 입력할 때 생기지 않았습니다. (main.c 파일을 gcc처리할 땐 자동으로 생겼는데 말이죠)

gcc JUNE.c 입력한 것이 VS code에서 컴파일을 했다는 말인가요?

그리고... 말씀해주신 예시와 같이 

입력해서 JUNE.exe 파일이 생겼지만.... 제가 출력하고자 했던 Your output is 가 안나오네요. 결과값은 main.c 파일에 있는 Your input is %d입니다...

으악... ㅋ

0

Hello Yeo

안녕하세요?
현재 main.c 파일을 컴파일하고 계신데, JUNE.c 파일을 컴파일 하시면 됩니다.
컴파일한 결과 파일의 이름을 바꾸시려면 -o 옵션을 사용하시면 됩니다.
예시는 다음과 같습니다.
gcc -o program_name main.c

Export template 안됨

1

181

2

완전히 똑같이 따라해도 exe파일이 안만들어져서 실행이 안됩니다.

1

222

3

main 함수에서 왜 int만 선언이 되는걸까요

1

152

2

8비트 2진수 변환시 왜 1을 더해야하나요?

1

160

2

혹시 강의를 빠르게 수강하려면 어디서부터 듣는게 좋을까요?

1

123

1

프로토타입과 함수간의 인자 불일치

1

139

2

12.12 헤더 관련 질문

1

125

2

Visual Studio Community 2026 사용 문의

1

261

2

Q. 15:30, 부호가 있는 8비트 정수 질문

1

115

2

getchar(), putchar()

1

155

3

강의자리ㅛ

1

129

2

비주얼스튜디오코드로 공부해도 상관없나요?

1

181

2

소스파일안에 여러 파일

1

127

2

F5와 F7의 차이

1

162

2

c = TWO * (a+b); 에서 a와 b는?

1

114

2

; 세미콜론을 붙이는 기준에 문의

1

118

1

Step over 기능 문의

1

119

2

2.6 강의 따옴표 출력 규칙 문의

1

121

2

int main 함수 관련 오류 문의

1

124

2

13.4 words[0]

0

106

2

11.7 함수를 구현해 봤습니다.

1

103

2

11.6 직접 strcmp와 strncmp를 구현해 보았습니다.

1

133

2

11.6 my_strcat과 my_strncat을 구현해봤습니다.

1

99

2

11.6 fit_str함수를 구현해 봤습니다.

1

102

2