์ด์์ฒด์ (Operating System Concepts) ์ผ๋ช ๊ณต๋ฃก์ฑ ๐ฆ์ ํผ์ณค๋๋ฐ ๊ธ์ด ๋ธ๋ผํค์ค ๋ชฉ ๊ธธ์ด ๋งํผ ๊ธธ๋ค...๋คํํ ์ธํ๋ฐ์ ๊ณต๋ฃก์ฑ ์ ๋ถ๊ต์ฌ๋ก ํ๋ ๊ฐ์๊ฐ ์์ด ํจ๊ป ๋ค์ผ๋ฉฐ ๊ณต๋ถํ๋ค. ์ด์์ฒด์ ์ค์ต์ ์ํด ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ๋ฉด์ ์๋์ฐ์์๋ ๋ฆฌ๋ ์ค ํ๋ก๊ทธ๋๋ฐ์ ํ ์ ์๊ฒ ๋๋คโผ๏ธ
โ
WSL2(Window System for Linux2)์ VSCode(Visual Studio Code)๋ฅผ ์ฐ๋ํ๋ฉด ๊ฐ์ฅ ํธ๋ฆฌํ ๋ฆฌ๋ ์ค ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํ ์ ์๋ค. ๋ฆฌ๋ ์ค์์ gcc๋ก C, C++ ์ปดํ์ผ์ด ๊ฐ๋ฅํ๋ค.
โ
์ด๋ป๊ฒ ํ๋๋ฉด!
โ
1. WSL/๊ฐ์๋จธ์ ๊ธฐ๋ฅ ์ผ๊ธฐ
์ค์ >๊ฒ์>Windows ๊ธฐ๋ฅ ์ผ๊ธฐ/๋๊ธฐ์์
๐ Linux์ฉ Windows ํ์ ์์คํ ์ต์ ์ฒดํฌ
๐ ๊ฐ์๋จธ์ ํ๋ซํผ ์ต์ ์ฒดํฌ
๊ทธ๋ฆฌ๊ณ ์ฌ๋ถํ ...(์๋)
โ
2. WSL ์ค์น
-๊ด๋ฆฌ์ ๋ชจ๋๋ก PowerShell์ ์คํํ๊ณ ์๋ ๋ช ๋ น์ด๋ฅผ ์ํ
wsl --install
(๋ ์ฌ๋ถํ ...ใ )
โ
3. ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐฐํฌํ ๋ชฉ๋ก ํ์ธ ๋ฐ ์ค์น
wsl --list --online
wsl --install -d <๋ชฉ๋ก ์ค ์ค์นํ๊ณ ์ถ์ ๋ฒ์ ์ด๋ฆ>
์ด๋ ๊ฒ ํด์ ๋จ๋ ๋ชฉ๋ก ์ค์ ํ๋ ์ ํํด ์ค์นํด์ฃผ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด ๋์ ๊ฒฝ์ฐ ๋ชฉ๋ก ์ค Ubutu23์ผ๋ก ์ค์นํ๋ค.
โ
4. ์ฐ๋ถ๋ ์ค์น (์๋ค๋ฉด ์๋ต)
โ
5. ์ฐ๋ถํฌ์์ GNU ํด์ฒด์ธ ์ค์น
Ubutu์ ๋ค์ด๊ฐ ์ปค๋งจ๋ ์ฐฝ์์ GNU ํด์ฒด์ธ์ ์ค์นํ๋ค. gcc/g++/gdb ์ปดํ์ผ๋ฌ ๋ฑ์ ๊ฐ๋ฐ๋๊ตฌ๋ค์ ์ค์นํ๋ ๋จ๊ณ์ด๋ค. ์๋์ ๊ฐ์ ๋ช ๋ น์ด๋ฅผ ์์๋๋ก ์ ๋ ฅํ๋ฉด ๋๋ค.
cf) gcc/g++/gdb๋ ์์๋๋ก c์ปดํ์ผ๋ฌ, c++์ปดํ์ผ๋ฌ, ๋๋ฒ๊ฑฐ์ด๋ค.
sudo apt-get update
sudo apt-get install build-essential gdb
๋ค ๋์ผ๋ฉด ์๋์ ๊ฐ์ ์ ๋ ฅ์ด๋ก ํ ๋ฒ์ฉ ์ค์น๋ ๋ฒ์ ์ ํ์ธํด์ค๋ค.

โ
6. Remote-WSL ํ์ฅํฉ ์ค์น
Visual Studio Code์ ๋ค์ด๊ฐ(์๋ค๋ฉด ์ค์น ํ์) ์ข์ธก ํ์ฅ(Extension)์์ WSL์ ๊ฒ์ํด ํ์ฅํฉ์ ์ค์นํด์ค๋ค.

โ
7. VSCode์์ WSL ์ฐ๊ฒฐํ๊ธฐ
VSCode ์ข์ธก ํ๋จ ๊ตฌ์์์ ์๊ฒฉ ์ฐฝ ์ด๊ธฐ๋ฅผ ํด๋ฆญํ๋ค. ์ ค ๊ตฌ์์ ์๊ฒ ์๋ค... ๋ ํฌ๊ฒ ๋ ์ผ ํ๋ค. ํด๋ฆญํ ๋ค Remote-WSL: New Window๋ฅผ ์ ํํ๋ค. ์ดํ ํด๋ ์ด๊ธฐ๋ฅผ ํ๋ฉด ๋๋ ํ ๋ฆฌ๊ฐ ์ด๋ฆฌ๋๋ฐ ์ด๊ฑด ์ฐ๋ถํฌ์์ ๋๋ ํ ๋ฆฌ๋ฅผ ๋ง๋ ๋ค ํด๋น ๋๋ ํ ๋ฆฌ์ ๋ค์ด๊ฐ๋ฉด ๋๋ค. ๋๋ ํ ๋ฆฌ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐ๋ถํฌ์์ ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค. ์ดํ ๋ง๋ ๋๋ ํ ๋ฆฌ์์ ์์ ๋กญ๊ฒ ์ฝ๋ฉํ๊ณ ๋ฆฌ๋ ์ค ๊ธฐ๋ฐ์ผ๋ก ์ปดํ์ผ๋ง ํ ์ ์๋ค.

โ
cf) ์ค๋ฅ ๋ฐ์... ์ฒ์์ ์ด๋ ๊ฒ ํ๋ WSL ์ฐ๊ฒฐ์ด ์ ๋๋ค๐จ
์๋ ๊นํ๋ธ ์ด์ ๋งํฌ๋ฅผ ํตํด ๋ด๊ฐ WSL ์ค์น ์ด์ ์ Docker๋ฅผ ์ฌ์ฉํด์ WSL ๊ธฐ๋ณธ ์ด๋ฏธ์ง๊ฐ ์ฐ๋ถํฌ๊ฐ ์๋ Docker๋ก ๋์ด ์๋ ๋ฌธ์ ๊ฐ ์์๋ค.
https://github.com/microsoft/vscode-remote-release/issues/8730
wsl -l -v
wsl -s Ubuntu
powershell์ ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์คํํด ์์ ์ฝ๋ ์ฒซ๋ฒ์งธ ์ค๋ก ํ์ฌ ๊ธฐ๋ณธ WSL ์ด๋ฏธ์ง๊ฐ Docker์์ ํ์ธํ๊ณ ๋๋ฒ์งธ ์ค๋ก ๊ธฐ๋ณธ ์ด๋ฏธ์ง๋ฅผ Ubutu๋ก ์ฌ์ค์ ํด์คฌ๋ค.
โ
์ด์ ๋โญโญโญ ์ฌ๊ธฐ๊น์ง ํด์ฃผ๋ฉด ์๋์ ๊ฐ์ด VS Code์์ ๋ฆฌ๋ ์ค ์ด์ ์ฒด์ ์๋ C์ธ์ด๋ก ์์ฑํ ํ์ผ์ ์ปดํ์ผ ํ ์ ์๋ค.

cf) pwd: ํ์ฌ ์์ ์ค์ธ ๋๋ ํ ๋ฆฌ ์ถ๋ ฅ, ls: ํ์ผ ๋ชฉ๋ก ํ์
โ
์ด์ ํ๊ฐ๋ถํ๊ฒ ์๋์ฐ์์ ์ด์ ์ฒด์ ์ค์ต์ ํ ์ ์๊ฒ ๋๋ค.