Windows에서 GCC를 사용한 C 언어 실행

2024. 9. 20. 12:56· Develop 🐾/Tools
목차
  1. VSCode 터미널 설정
  2. Panel 위치
  3. Default terminal
  4. MinGW를 활용한 GCC 설정
  5. MSYS2 및 MinGW-w64 설치
  6. 환경 변수 설정
  7. 설정 완료 및 테스트

나는 VS Code와 Git Bash조합으로 많이 사용하고 있는데, 추후 빠른 환경설정을 위해서 환경 설정을 한 번 정리하고 넘어가고자 한다.
 
우선, Git Bash와 VSCode가 설치되었다는 가정 하에서
 
 

VSCode 터미널 설정


Panel 위치

 
우선 터미널은 우측으로 두는 것이 작업하기 편리하므로 panel의 default location을 right로 둔다.
 

Default terminal

 
터미널 설정은 우측의 V 표시를 누르고 Select Default Profile ->Git Bash를 지정한다.

 

 
이제 GCC 설정이 남았다.
 
 

MinGW를 활용한 GCC 설정


일반적으로 사용하는 MinGW가 아니라 MinGW-w64를 사용하고자 하며, gdb 사용 또한 보장되어야 할 것이다.
 
MinGW와 MinGW-w64의 차이점 및 배경
 
 
https://code.visualstudio.com/docs/cpp/config-mingw

 

Get Started with C++ and MinGW-w64 in Visual Studio Code

Configuring the C++ extension in Visual Studio Code to target g++ and gdb on a MinGW-w64 installation

code.visualstudio.com

위 VSCode에서 작성한 문서를 따라 환경설정을 수행한다.
 

MSYS2 및 MinGW-w64 설치

 
앞선 링크에서 설치 프로그램에 대한 링크를 통해 MSYS2를 설치한다.
 
MSYS2가 설치되면

pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain

 
을 입력한다.

여기에서 Enter를 눌러서 디폴트로 전체 설치를 수행한다.
 

Y 입력
 

환경 변수 설정

설치가 완료되면 환경변수를 설정한다. 
 

 
Path에 새로운 환경 변수를 추가한다.

 
디폴트로 설치했다면 다음 C:\msys64\ucrt64\bin 경로로 설정할 것이다.
 

설정 완료 및 테스트


 
이렇게 되면 Windows VSCode에서 자유롭게 gdb, gcc, g++ 사용이 가능하다.
 
 
추가적으로, 맥이나 리눅스를 사용하다보면 쉘에서 open 이라는 명령어를 편하게 사용한다.
윈도우 환경에서는 explorer.exe 로 사용하고, 이는 간단히
~/.bash_profile에서

alias open=explorer.exe

 
를 추가해주면 된다.

  1. VSCode 터미널 설정
  2. Panel 위치
  3. Default terminal
  4. MinGW를 활용한 GCC 설정
  5. MSYS2 및 MinGW-w64 설치
  6. 환경 변수 설정
  7. 설정 완료 및 테스트
neutrinox4b1
neutrinox4b1
neutrinox4b1
Neu@security-blog
neutrinox4b1
  • All Categories
    • Security 🔒
      • System
      • > Protection Tech
      • Web
      • Reversing & Malware
      • Network
      • CTF hosting
      • Red teaming
      • > Windows
      • > Linux
      • SOC & DFIR
      • Tools
    • CTF ⚔️
    • Wargame 🪖
      • After CTF
      • dreamhack.io
      • pwnable.kr
      • pwnable.tw
      • pwnable.xyz
      • pwn.college
      • phoenix (exploit.education)
      • fusion (exploit.education)
      • webhacking.kr
      • cryptohack.org
      • HackTheBox
    • Develop 🐾
      • C, C++
      • Tools
    • PS 👨‍💻
      • acmicpc
      • programmers
      • Project Euler
    • Insights 👨‍🔬
      • Code Reuse Attacks (CRA)
      • Control Flow Integrity (CFI..
      • Air-Gap
      • Embedded
      • Paper

태그

  • misc
  • sys
  • WEB

최근 글

블로그 메뉴

  • About me
  • 방명록
hELLO · Designed By 정상우.v4.3.0
neutrinox4b1
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.