์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.

GNU Compiler Collection
๊ณต์‹ ์‚ฌ์ดํŠธ

1. ๊ฐœ์š”2. MinGW3. ์„ค์น˜4. ๊ธฐํƒ€

1. ๊ฐœ์š”[ํŽธ์ง‘]

GNU ํ”„๋กœ์ ํŠธ์˜ ์˜คํ”ˆ ์†Œ์Šค ์ปดํŒŒ์ผ๋Ÿฌ ์ปฌ๋ ‰์…˜. ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค ๊ณ„์—ด ํ”Œ๋žซํผ์˜ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€ ์ปดํŒŒ์ผ๋Ÿฌ๋‹ค. ๋ฆฌ์ฒ˜๋“œ ์Šคํ†จ๋จผ์ด 1987๋…„์— ๋งŒ๋“ค์—ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” C ์ปดํŒŒ์ผ๋Ÿฌ์˜€์œผ๋ฉฐ 'GNU C Compiler'์˜ ์•ฝ์–ด์˜€๋‹ค. ํ•˜์ง€๋งŒ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ C++ ๊ฐ™์€ ๋‹ค๋ฅธ ์–ธ์–ด๋„ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ๊ณ [1], 'GNU Compiler Collection'์œผ๋กœ ์ด๋ฆ„์„ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค. ๋ฌผ๋ก  ์•ฝ์–ด๋Š” ์—ฌ์ „ํžˆ GCC์ด๋‹ค. ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•˜๋Š” ์–ธ์–ด๋Š” C, C++, Objective-C, Fortran, Ada, Go์ด๋‹ค. Java๋Š” GCC 7.1 ๋ฒ„์ „๋ถ€ํ„ฐ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ๋‹ค. GNU ์ง„์˜์—์„œ๋Š” GCC๋กœ ์ปดํŒŒ์ผ์„ ํ•˜๊ณ  Make๋ฅผ ์ด์šฉํ•ด ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด๋‹ค.

์›๋ž˜๋Š” C๋กœ ๊ตฌํ˜„๋˜์—ˆ์œผ๋‚˜ 2013๋…„์— ๊ตฌํ˜„ ์–ธ์–ด๋ฅผ C++๋กœ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•˜์˜€๋‹ค. # ๋งŒ๋“ค์–ด์ง„์ง€ ์ˆ˜์‹ญ๋…„ ๋œ ์ปดํŒŒ์ผ๋Ÿฌ๋ผ ์ตœ์ ํ™”๋Š” ๋งค์šฐ ์ž˜ ๋˜์–ด ์žˆ์ง€๋งŒ, ๊ธฐ์กด ์ฝ”๋“œ์˜ ๊ตฌ์กฐ๊ฐ€ ์‹œ๋Œ€์  ํ•œ๊ณ„๋กœ ์ธํ•ด ์˜ค๋Š˜๋‚  ๊ด€์ ์—์„œ๋Š” ์ƒ๋‹นํžˆ ๋”๋Ÿฌ์›Œ์„œ ์‹ ๊ทœ ์ธ๋ ฅ์ด ๊ฑฐ์˜ ์œ ์ž…๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

2. MinGW[ํŽธ์ง‘]

MinGW(Minimalist GNU for Windows)๋ผ๋Š” ์œˆ๋„์šฐ์šฉ ํฌํฌ๋„ ์กด์žฌํ•˜์—ฌ ์—ฌ๋Ÿฌ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ์œˆ๋„์šฐ์—์„œ ๋Œ์•„๊ฐ€๊ฒŒ ํ•˜๋Š” ๋ฐ ์ผ์กฐํ•˜๊ณ  ์žˆ๋‹ค.

MinGW๋Š” MSYS์™€์˜ ๊ฒฐํ•ฉ์œผ๋กœ ๊ตฌ๋™๋œ๋‹ค. MSYS๋Š” Minimal SYStem์˜ ์•ฝ์ž๋กœ, ์œˆ๋„์šฐ์—์„œ ์œ ๋‹‰์Šค์˜ ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ด ์ฃผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด MinGW์™€ GCC๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. MSYS์™€ ๋น„์Šทํ•œ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„ Cygwin์€ ๋‹จ์ˆœ ํ„ฐ๋ฏธ๋„์ด ์•„๋‹Œ ์ผ์ข…์˜ ๊ฐ€์ƒ๋จธ์‹ ์œผ๋กœ, ์œˆ๋„์šฐ ์œ„์— POSIX ๋ ˆ์ด์–ด๋ฅผ ์ƒˆ๋กœ ์–น์–ด ์ƒ๋‹นํžˆ ๋ฌด๊ฑฐ์šด ๋ฐ˜๋ฉด MinGW๋Š” POSIX ํ˜ธํ™˜์„ฑ์„ ํฌ๊ธฐํ•œ ๋Œ€์‹  ์œˆ๋„์šฐ ํ™˜๊ฒฝ๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์—ฐ๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋น ๋ฅธ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. ์ด๋Ÿฐ ์ด์œ ๋กœ ์œ ๋‹‰์Šค์—์„œ POSIX API๋ฅผ ์ด์šฉํ•˜๋Š” ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ์„ ๊ฒฝ์šฐ MinGW๋กœ๋Š” ์ปดํŒŒ์ผ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. Windows 10 Anniversary Update์—์„œ๋Š” WSL(Windows Subsystem for Linux)์ด๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๋ฆฌ๋ˆ…์Šค API๊ฐ€ ์œˆ๋„์šฐ ์ปค๋„ ๋‚ด๋ถ€์— ์ง์ ‘ ํƒ‘์žฌ๋˜์—ˆ์œผ๋ฏ€๋กœ, ์œˆ๋„์šฐ์—์„œ POSIX ํ™˜๊ฒฝ์„ ์ด์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด WSL์„ ์ด์šฉํ•˜๋ฉด ๋œ๋‹ค.

๊ธฐ์กด์˜ MSYS 1.0์€ 32๋น„ํŠธ ์šด์˜์ฒด์ œ๋งŒ ์ง€์›ํ•œ๋‹ค๋Š” ๋ฌธ์ œ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ์ด์— ๋”ฐ๋ผ MSYS2 ๊ธฐ๋ฐ˜์˜ MinGW-w64๊ฐ€ ์ œ์ž‘๋˜์–ด 64๋น„ํŠธ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์—์„œ์˜ GCC๋Š” ๊ธฐ์กด์˜ ์œ ๋‹‰์Šค, ๋ฆฌ๋ˆ…์Šค์šฉ GCC์™€ ๋™์ผํ•˜๊ฒŒ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์™€์ด๋“œ๋ฐ”์ดํŠธ ๊ด€๋ จ ์˜ˆ์•ฝ์–ด๋‚˜ ํ•จ์ˆ˜(wchar_t, wprintf(), wcstok() ๋“ฑ)๊ฐ€ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ.

์œˆ๋„์šฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ์‹œ ํŒŒ์ผ์„ ์ œ๋Œ€๋กœ ์ฝ์ง€ ๋ชปํ•˜๋Š” ๋“ฑ์˜ ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ , ๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค์—์„œ๋งŒ ์“ฐ์ด๋Š” ๋น„ํ‘œ์ค€ ํ™•์žฅ ํ•จ์ˆ˜๋„ ์ œ๊ณตํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— C/C++ ์ž…๋ฌธ์ž์—๊ฒŒ๋Š” ๊ถŒ์žฅํ•  ๋งŒํ•œ ๊ฒƒ์ด ๋ชป ๋œ๋‹ค๋Š” ์˜๊ฒฌ์ด ์žˆ์œผ๋‚˜, ์ด๋Š” MS Windows์˜ ๋กœ์ผ€์ผ ๋ฌธ์ œ์—์„œ ๋น„๋กฏ๋œ๋‹ค. Windows์˜ ๊ฒฝ์šฐ Windows 10 RS5์— ํ‘œ์ค€ ๋กœ์ผ€์ผ์„ UTF-8๋กœ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜[2]์ด ๋ฒ ํƒ€๋กœ ์ถ”๊ฐ€๋˜์–ด ์žˆ์œผ๋‚˜ ์ด ์˜ต์…˜์€ ๊ธฐ๋ณธ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ์— ์ „์—ญ ์‹œ์Šคํ…œ ๋กœ์ผ€์ผ์€ ๋ณ„๋„๋กœ ์„ค์ •๋œ ๋กœ์ผ€์ผ์„ ๋”ฐ๋ฅด๊ฒŒ ๋œ๋‹ค. Windows์—์„œ ์œ ๋‹ˆ์ฝ”๋“œ Awareํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ wchar_t ์™€ ๊ฐ™์€ ์™€์ด๋“œ๋ฐ”์ดํŠธ ํ˜•์‹ (Windows ์—์„œ๋Š” UTF-16)์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์‹œ์Šคํ…œ์˜ MBCS๋ฅผ ๋”ฐ๋ฅด๊ฒŒ ๋˜์–ด ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ํŒŒ์ผ์— ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์ „๋ฌดํ•˜๋‹ค. C์˜ fopen()์˜ ํ”„๋กœํ† ํƒ€์ž…์€ const char* ํ˜•์‹๋งŒ ์กด์žฌํ•˜๊ณ  ์ด๋Š” MBCS๋ฅผ ๋”ฐ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ผ€์ผ์—์„œ ๋ฒ—์–ด๋‚˜๋Š” ํŒŒ์ผ๋ช…์€ ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋‹ค. MSVC์˜ ๊ฒฝ์šฐ ๋น„ํ‘œ์ค€ ํ•จ์ˆ˜์ธ const wchar_t ์˜ค๋ฒ„๋ผ์ด๋“œ๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋‚˜, ํ‘œ์ค€์ด ์•„๋‹Œ ๊ด€๊ณ„๋กœ libc๋ฅผ ์‚ฌ์šฉํ•˜๋Š” GCC์˜ ๊ฒฝ์šฐ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด CreateFileW()์™€ ๊ฐ™์€ OS ์ž์ฒด์˜ API๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ด์™ธ์—๋Š” ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋˜ํ•œ ์ฝ˜์†”์˜ wprintf() ๋˜ํ•œ ์ฝ˜์†”์˜ ๊ธฐ๋ณธ๊ฐ’์€ ์—ญ์‹œ๋‚˜ ์‹œ์Šคํ…œ ๋กœ์ผ€์ผ์„ ๋”ฐ๋ฅด๋ฉฐ ์ด ๋˜ํ•œ ๋กœ์ผ€์ผ์„ ๋ฒ—์–ด๋‚˜๋Š” ๋ฌธ์ž์—ด์˜ ์ •์ƒ์ ์ธ ์ถœ๋ ฅ์„ ์œ„ํ•ด์„œ๋Š” WriteConsoleW()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•˜๋Š” ๋“ฑ, Windows๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” MBCS์˜ ๋ฌธ์ œ์ ์ด์ง€ MSYS ํ™˜๊ฒฝ์˜ ๋ฌธ์ œ์ ์ด ์•„๋‹ˆ๋‹ค.

Cygwin์˜ ๊ธฐ๋Šฅ์€ WSL๋กœ ํ™•์‹คํžˆ ๋Œ€์ฒด๋˜์—ˆ์ง€๋งŒ, MinGW๋Š” ์œˆ๋„์šฐ ํ™˜๊ฒฝ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋˜ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•  ๊ฒฝ์šฐ[3] ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ์ˆ˜ ์žˆ์–ด ์—ฌ์ „ํžˆ ํ•„์š”์„ฑ์ด ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด์ด๋‹ค.

3. ์„ค์น˜[ํŽธ์ง‘]

  • MSYS2: GCC ์„ค์น˜ ๊ณผ์ • #[4]
    • MSYS2(x86_64) ๋‹ค์šด๋กœ๋“œ ํ›„ MSYS2 ์…ธ์— pacman -Syu[5]๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํŒจํ‚ค์ง€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ฝ”์–ด ์‹œ์Šคํ…œ ์—…๋ฐ์ดํŠธ[6]
    • ์…ธ์— pacman -S mingw-w64-x86_64-toolchain์„ ์ž…๋ ฅ
    • ์…ธ์— pacman -S mingw-w64-x86_64-cmake mingw-w64-x86_64-extra-cmake-modules๋ฅผ ์ž…๋ ฅํ•˜์—ฌ CMake ์„ค์น˜
    • ํ™˜๊ฒฝ๋ณ€์ˆ˜ Path์— ~/mingw64/bin[7] ๊ฒฝ๋กœ ์ถ”๊ฐ€
    • ์œˆ๋„์šฐ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์—์„œ gcc -v, g++ -v, mingw32-make -v[8], cmake -version, gdb -v๋ฅผ ๊ฐ๊ฐ ์ž…๋ ฅํ•˜์—ฌ ์ •์ƒ ์„ค์น˜ ์—ฌ๋ถ€ ํ™•์ธ
  • MSYS2: GPGME error: Invalid crypto engine ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ #
    • ์…ธ ์ข…๋ฃŒ ํ›„ (MSYS2 ํด๋”)/var/cache/pacman/pkg ๊ฒฝ๋กœ์—์„œ libgpgme, gnupg, pacman ํŒจํ‚ค์ง€ ํŒŒ์ผ(.pkg.tar) ์‚ญ์ œ
    • (MSYS2 ํด๋”)/etc ๊ฒฝ๋กœ์—์„œ ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ pacman.conf ํŒŒ์ผ์„ ์—ด๊ณ  SigLevel = Never์˜ ์ฃผ์„ ๊ธฐํ˜ธ(#) ์ œ๊ฑฐ, SigLevel = Required DatabaseOptional ์ฃผ์„ ์ฒ˜๋ฆฌ
    • MSYS2 ์…ธ์— pacman -S libgpgme gnupg pacman ์ž…๋ ฅ
    • ๊ธฐํƒ€ ํ•„์š”ํ•œ ํŒŒ์ผ ๋ชจ๋‘ ์žฌ์„ค์น˜
  • MSYS 1.0: Couldn't reserve space for cygwin's heap ์—๋Ÿฌ ๋ฐœ์ƒ ์‹œ #
    • ์ด๊ณณ์—์„œ rebase.exe ํŒŒ์ผ์„ ํด๋ฆญํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ(๋‹ค์šด๋กœ๋“œ ์‹œ ํŒŒ์ผ๋ช…์„ bin-rebase.exe์—์„œ rebase.exe๋กœ ๋ณ€๊ฒฝ)
    • rebase.exe ํŒŒ์ผ์„ (MSYS ํด๋”)/MinGW/msys/1.0/bin ๊ฒฝ๋กœ๋กœ ์ด๋™
    • bin ํด๋”์—์„œ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์ฐฝ์„ ์—ด๊ณ  rebase -b 0x30000000 msys-1.0.dll ์ž…๋ ฅ
  • TDM-GCC: MSYS ๋“ฑ์ด ์„œ๋ธŒ์‹œ์Šคํ…œ์— ์ƒ๋‹น์ˆ˜ ์˜์กดํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ ์ˆœ์ˆ˜ Windows ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ MinGW. ํ•œ ํŒจํ‚ค์ง€๋กœ i686, AMD64 ๋ฐ”์ด๋„ˆ๋ฆฌ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
    • MSYS ์—†์ด ๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์„œ ๊ฐ€๋ฒผ์šด ํŽธ์ด์ง€๋งŒ ์…ธ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ฆด ๋ฐฉ๋ฒ•์ด ์—†์œผ๋ฏ€๋กœ autotools์™€ ๊ฐ™์€ ๊ตฌ์‹์˜ configurator์™€ ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค. Visual Studio Code์ฒ˜๋Ÿผ ์ž์ฒด์ ์ธ ๋นŒ๋“œ ํ™˜๊ฒฝ์ด ์—†๋Š” ํ…์ŠคํŠธ ์—๋””ํ„ฐ๋กœ ์ปดํŒŒ์ผ์„ ํ•˜๊ณ ์ž ํ•  ๋•Œ ๊ฐ€์žฅ ๊ถŒ์žฅ๋œ๋‹ค. 2020๋…„ 3์›”, ๋ฌด๋ ค 5๋…„๋งŒ์— ์ƒˆ ์—…๋ฐ์ดํŠธ๊ฐ€ ๋“ฑ๋ก๋˜์—ˆ๋‹ค.

4. ๊ธฐํƒ€[ํŽธ์ง‘]

2017๋…„ ๋ง ๊ธฐ์ค€, LLVM/Clang๊ณผ์˜ ์„ฑ๋Šฅ ๋น„๊ต์—์„œ ์šฐ์œ„๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ๋‹ค. # ์ตœ๊ทผ์—๋Š” Clang๊ณผ ๊ฒฝ์Ÿ์ ์œผ๋กœ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ๋”ํ•˜๊ณ  ๋ฒ„์ „ ๋ฒˆํ˜ธ๋„ ๋†’์ด๊ณ  ์žˆ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•ด ๋ฌธ์ œ๊ฐ€ ๋ ๋งŒํ•œ ๋ถ€๋ถ„์„ ์ง„๋‹จํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ ๋“ฑ์ด ํฌ๊ฒŒ ๊ฐ•ํ™”๋˜์—ˆ๋‹ค.

์ž„๋ฒ ๋””๋“œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•  ๋•Œ๋„ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ์„ GCC๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

2007๋…„์— ์ถœ์‹œ๋œ 4.2.2 ๋ฒ„์ „๋ถ€ํ„ฐ ๋ผ์ด์„ ์Šค๊ฐ€ GPLv3๋กœ ๋ฐ”๋€Œ์—ˆ๊ณ , ์ด์— ๋”ฐ๋ผ BSD ๋ผ์ด์„ ์Šค์™€ ํ˜ธํ™˜์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋˜์–ด FreeBSD ์ง„์˜๊ณผ ์• ํ”Œ์€ ๋Œ€๊ฒฝ์‹ค์ƒ‰ํ•˜๊ณ  LLVM/Clang์œผ๋กœ ๊ฐˆ์•„ํƒ”๋‹ค.[9]
[1] C++์šฉ GCC๋Š” gcc-c++ ํ˜น์€ g++๋ผ๊ณ  ํ•œ๋‹ค.
[2] Beta: ์„ธ๊ณ„ ์–ธ์–ด ์ง€์›์„ ์œ„ํ•ด Unicode UTF-8 ์‚ฌ์šฉ
[3] ์ฃผ๋กœ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋นŒ๋“œํ•  ๋•Œ.
[4] MSYS2 ํด๋”์˜ maintenancetool.exe ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด MSYS2๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
[5] ์•„์น˜ ๋ฆฌ๋ˆ…์Šค์˜ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž ๋ช…๋ น์–ด์ด๋‹ค.
[6] ๋งˆ์ง€๋ง‰์— 'error: target not found: update'๋ผ๋Š” ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ์ง€๋งŒ ์ด๊ฑด ์—…๋ฐ์ดํŠธ๊ฐ€ ๋ชจ๋‘ ๋๋‚ฌ๋‹ค๋Š” ์˜๋ฏธ๋กœ ๋ฐ›์•„๋“ค์ด๋ฉด ๋œ๋‹ค.
[7] ์—๋””ํ„ฐ์—์„œ ์ปดํŒŒ์ผ๋Ÿฌ ํˆด์ฒด์ธ ์„ธํŒ…์„ ์š”๊ตฌํ•  ๊ฒฝ์šฐ ์ด ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.
[8] ๊ตฌ 32๋น„ํŠธ MinGW์— ํฌํ•จ๋œ make๋Š” ์œ ๋‹‰์Šค ์‹œ์Šคํ…œ์˜ ๋ช…๋ น์–ด๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด, MinGW-w64์— ํฌํ•จ๋œ make๋Š” ๊ธฐ์กด์˜ ๊ฒƒ์„ ๋„ค์ดํ‹ฐ๋ธŒ ์œˆ๋„์šฐ ํ™˜๊ฒฝ์— ๋งž์ถฐ ์•ฝ๊ฐ„ ๋ณ€ํ˜•ํ•œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฆ„์ด mingw32-make๋กœ ๋ฐ”๋€Œ์—ˆ๋‹ค.
[9] ์‹ฌ์ง€์–ด ์• ํ”Œ์€ ํ„ฐ๋ฏธ๋„์— gcc ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด clang์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋„๋ก ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๊ธฐ๊นŒ์ง€ ํ–ˆ๋‹ค.(...) ์ตœ์‹  macOS์—์„œ 'gcc -v'๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ๋‚˜์˜ค๋Š” ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” Apple LLVM๊ณผ clang์˜ ๋ฒ„์ „์ด๋‹ค.