인프런 커뮤니티 질문&답변

ewak01님의 프로필 이미지
ewak01

작성한 질문수

홍정모의 따라하며 배우는 C언어

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

작성

·

242

0

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

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

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

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

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

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

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

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

답변 7

1

ewak01님의 프로필 이미지
ewak01
질문자

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

1

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

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

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

0

ewak01님의 프로필 이미지
ewak01
질문자

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

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

0

ewak01님의 프로필 이미지
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

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

0

ewak01님의 프로필 이미지
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

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

ewak01님의 프로필 이미지
ewak01

작성한 질문수

질문하기