MAC에서 VSCode를 사용하여 C언어와 C++을 사용하는 방법

전편에 이어서 작성된 글입니다. 본편에서는 프로그래밍과 build까지를 다룹니다.


1. 파일생성 및 프로그래밍

화살표순서로 따라가주세요.



[왼쪽위 탐색기 클릭] -> [폴더 열기] -> [새로움 폴더] -> [생성된 폴더로 이동해서 열기클릭]


그럼 위와같이 새로운 작업영역이 생성됩니다.


그럼 먼저 hello.c hi.cpp 이라는 두개의 파일을 생성해보겠습니다. 그리고 두개의 파일을 담고있는 tutorial이라는 폴더를 생성하겠습니다.




위 사진에서 왼쪽 상단에보면 + 표시가 붙은 두 녀석을 볼 수 있습니다. 둘 중 왼쪽은 파일을, 오른쪽은 폴더를 생성하는 아이콘입니다.


오른쪽 폴더생성을 눌러서 tutorial을 생성하고 이 후 왼쪽 파일생성을 클릭해서 hello.c와 hi.cpp을 만들어주시면됩니다.


완료되면 위와같이 c파일은 C라는 표시가 cpp파일은 C++표시가 자동으로 생성됩니다.


< C언어 >


< C++ 언어 >



위와같이 C와 C++로 작성된 두개의 프로그램을 작성했습니다.


그럼 이제 실행할수있는 파일로 만들어야합니다.


우리 맥 유저는 리눅스의 친구 gcc와 g++을 이용하도록 하겠습니다.


명령어 : Command + Shift + b


클릭하시면 '실행할 빌드 작업을 찾을 수 없습니다~ '라고 나옵니다. 그녀석을 클릭해주시고, '템플릿에서 tasks.json파일 만들기' 클릭, 'Others' 클릭



여기까지 잘 따라왔다고 생각합니다~


이놈을 클릭하게되면 왼쪽에 tasks.json파일이 생성됩니다. 클릭해서 들어가보시면 아래와 같이 되어있습니다.



맞이시죠?


우리는 요놈을 아래와 같이 수정합니다.


{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build_gcc", "type": "shell", "command": "gcc", "args": [ "-g", "-o", "${fileDirname}/${fileBasenameNoExtension}.out", "${file}" ], "group": { "kind": "build", "isDefault": true } }, { "label": "build_g++", "type": "shell", "command": "g++", "args": [ "-g", "-o", "${fileDirname}/${fileBasenameNoExtension}.out", "${file}" ], "group": { "kind": "build", "isDefault": true } } ] }

위에서부터 tasks.json파일을 천천히 한번 보겠습니다.

 4번 줄) "tasks" :  -> 뒤에 오는내용이 수행할 작업에 대한 내용입니다.

 6번 줄) "label" :  -> 중괄호로 묶여있는 부분의 이름입니다. 이 후 Command + Shift + b 를 눌렀을 때 표시되는 내용이기도 합니다.

 7번 줄) "type" :  -> 작업이 수행되는 공간입니다.

 8번 줄) "command" :  -> 작업공간에서 수행할 명령입니다.

 9번 줄) "args" :  -> 위에 command에 적어준 명령의 파라미터를 넣어줍니다.

 10번 줄) "-g"  -> 디버깅을 위한 옵션입니다.

 11번 줄) "-o"  -> 출력파일의 이름을 정의해줄때 사용합니다.

 12번 줄) "${fileDirname}/${fileBasenameNoExtension}.out"  -> 파일의 현재 디렉토리에 파일명.out 파일을 생성합니다.

 13번 줄) "${file}"  -> 현재 파일을 의미합니다. 해당 파일이 여기서는 gcc의 입력이 됩니다.


14번째 줄 부터는 현재와는 상관없는 부분이며, 아래의 C++을 위한 g++설정은 gcc와 동일합니다.


이렇게 tasks.json파일을 완성하고 저장하신 후 다시 hello.c파일로 돌아와 Command + Shift + b 명령을 클릭해보세요.




짠~! 방금 설정한 두 task가 보이게됩니다.


작업에 따라 C언어로 작성된 녀석은 gcc로, C++로 작성된 녀석은 g++로 build해주시면 됩니다~!


build 작업이 끝나면 좌측에 다음과 같이 두개의 파일이 새로 생긴것을 확인 할 수 있습니다.




그럼 마지막으로 실행은 어떻게할까?


간단합니다. tasks.json파일을 다시 조금 손봐주시면 됩니다.


아래와 같이 말이죠.



{ { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "label": "build_gcc", "type": "shell", "command": "gcc", "args": [ "-g", "-o", "${fileDirname}/${fileBasenameNoExtension}.out", "${file}" ], "group": { "kind": "build", "isDefault": true } }, { "label": "build_g++", "type": "shell", "command": "g++", "args": [ "-g", "-o", "${fileDirname}/${fileBasenameNoExtension}.out", "${file}" ], "group": { "kind": "build", "isDefault": true } }, { "label": "exec", "type": "shell", "command": "${fileDirname}/${fileBasenameNoExtension}.out", "group": { "kind": "build", "isDefault": true } } ] }


큰 차이는 없습니다.


마지막에 exec라는 녀석을 추가했을 뿐이니까요.


이렇게 해준 후 다시 Command + Shift + b를 클릭해주시면 exec라는 녀석이 등장합니다. 그리고 실행~!




그럼 하단 터미널에 C언어로 작성된 프로그램이 실행된 결과를 알 수 있게됩니다~!!!!


후~ 그럼 다음 포스팅에서는 디버깅 설정에대해 말씀드리겠습니다.


2018/12/29 - [IDE/VScode] - [MAC] VSCode로 C/C++ 사용하기 (1/3)


'IDE > VScode' 카테고리의 다른 글

task.json 파일  (0) 2019.07.01
[MAC] VSCode로 C/C++ 사용하기 (3/3)  (1) 2019.01.02
[MAC] VSCode로 C/C++ 사용하기 (2/3)  (7) 2018.12.29
[MAC] VSCode로 C/C++ 사용하기 (1/3)  (0) 2018.12.29
  1. Younghoon Ji 2019.01.16 10:14

    안녕하세요, 올려주신 VScode 글 저에게 많은 도움이 되었습니다. 혹시, 3편 디버깅 설정은 언제 쯤 볼 수 있을까요? 명쾌하게 설명된 곳이 잘 없네요..

  2. 안녕하세요 2019.07.01 15:01

    tasks.json에 복사붙여넣어야 할 부분이 복사가 안되서 ㅠ 복사 가능하게끔 댓글에 달아주실 수 있을까요 .. 붙여넣기가 안되서 타이핑 하기가 힘드네요

    • 뒹굴뒹굴 YoungQ 2019.07.01 23:40 신고

      플러그인 때문에 복사가 안되나보네요.
      아래 글에 첨부파일로 올렸습니다.
      말씀해주셔서 감사합니다.

      https://youngq.tistory.com/43
      (VScode 카테고리에 올라온 글입니다.)

  3. beginnger 2020.04.15 13:28

    제대로 된 정보 찾기 어려웠는데 올려주셔서 감사합니다^^

  4. ㅇㅇ 2020.05.19 13:35

    hello.c 는 .out이 정상적으로 생성되는데 hi.cpp 는 g++을 생성하는 창이 안뜹니다(gcc만 작업하는 창이 뜸) 어떻게 해야하나요?

  5. 2020.07.30 22:35

    설명 엉망이네..

  6. khk5980 2020.11.17 17:23

    유용한 글 되게 잘 배우고 가여

+ Recent posts