๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์—๋Ÿฌ ๋ฐ ์ด์Šˆ

VSCode์—์„œ C/C++ ์…‹์—… ์ด์Šˆ

by kaizen_bh 2025. 11. 6.

 

 

๋น„์ฃผ์–ผ ์ŠคํŠœ๋””์˜ค.. ๋ฌด๊ฒ๋‹ค..

๊ณต๋ถ€์šฉ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ฝ”๋“œ๋งŒ ๋Œ๋ ค๋ณด๋ ค๊ณ  VSCode์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์ฐพ์•„๋ณด์•˜๋‹ค

์•„๋ž˜์˜ ๊ธ€๋Œ€๋กœ ์ญ‰ ์ง„ํ–‰

 

https://dntmdgns03.tistory.com/113

 

VSCode C์–ธ์–ด ์‹คํ–‰ํ•˜๊ธฐ

1. C/C++ ์ปดํŒŒ์ผ๋Ÿฌ(๋ฒˆ์—ญ๊ธฐ) ์„ค์น˜Visual Studio Code(VSCode)๋Š” ์ฝ”๋“œ ํŽธ์ง‘๊ธฐ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์–ธ์–ด์˜ ๋ฒˆ์—ญ๊ธฐ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.์•„๋ž˜ ๋งํฌ์—์„œ MinGW-w64 GCC๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. MinGW-w64 ๋‹ค์šด๋กœ๋“œ ๋งํฌx

dntmdgns03.tistory.com

 

 

 

 

 

MinGW-w64 GCC ์„ค์น˜. ์ง€๊ธˆ์€ ํ•œ ๋ฒ„์ „ ์˜ฌ๋ผ์„œ x86_64-15.2.0-release-posix-seh-msvcrt-rt_v13-rev0 ์ด๋‹ค

์„ค๋ช…๋Œ€๋กœ ์••์ถ• ํ’€๊ณ ~ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ๋กํ•ด์ฃผ๊ณ ~

์œˆ๋„์šฐ cmd์—์„œ gcc -v ์‹คํ–‰ํ•˜๋ฉด 

(base) C:\Users\userpc>gcc -v ์•ก์„ธ์Šค๊ฐ€ ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 
(base) C:\Users\userpc>g++ --version ์•ก์„ธ์Šค๊ฐ€ ๊ฑฐ๋ถ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ž‘ mingw64 ํด๋” ์œ„์น˜ ์ด์ƒ์—†๋Š”๋ฐ..?

 

 

 

์•„.. ์ €๊ฑฐ ์•ˆ์ „ํด๋”์—์„œ ํ’€๊ณ ์„œ mingw64๋ฅผ C:๋กœ ๊บผ๋‚ด์˜ค๋ฉด ์ธ์‹์„ ๋ชปํ•œ๋‹ค

์ € ์ฐฝ ๋œจ๋ฉด ๊ทธ๋ƒฅ ์˜ˆ ๋ˆŒ๋ฅด๊ณ  ์ง„ํ–‰ํ•˜๋‹ˆ ์ด ๋ถ€๋ถ„์€ ํ•ด๊ฒฐ

 

 

 

 


 

 

๊ธ€ ๋”ฐ๋ผ์„œ ์ญ‰ ์ง„ํ–‰ํ•œ๋‹ค

VSCode์—์„œ Hello World ์ถœ๋ ฅํ•˜๋Š” ๊ฐ„๋‹จํ•œ cํŒŒ์ผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  C/C++ ํ™•์žฅํŒฉ๋“ค๋„ ์„ค์น˜ํ•ด์ฃผ๊ณ  ์ปดํŒŒ์ผ๋Ÿฌ ์„ค์ •๋„ ํ•ด์ฃผ๊ณ ~

์ปดํŒŒ์ผ๊ณผ ์‹คํ–‰์„ ํŽธํ•˜๊ฒŒ ํ•˜๊ฒŒ๋” ๋‹จ์ถ•ํ‚ค๋„ ์„ค์ •ํ•ด์ค€๋‹ค

์ปดํŒŒ์ผ์€ ctrl+alt+c , ์‹คํ–‰์€ ctrl+alt+r

tasks.json ํŒŒ์ผ์„ .vscode ํด๋”์— ์ƒ์„ฑํ•˜๊ณ  ์•Œ๋ ค์ค€๋Œ€๋กœ ๋ณต์‚ฌํ•ด์„œ ๋„ฃ์—ˆ๋‹ค

๊ทธ๋Ÿผ c ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•ด์„œ ์‹คํ–‰์‹œ์ผฐ์„ ๋•Œ Hello World๊ฐ€ ๋‚˜์™€์•ผํ•˜๋Š”๋ฐ..!

 

* Executing task: ""gcc -std=c23" 
"C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\study.c" 
-o "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study/study"" 
'"gcc -std=c23"'์€(๋Š”) ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น, ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ, ๋˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. 
* The terminal process "C:\WINDOWS\System32\cmd.exe /d /c 
""gcc -std=c23" "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\study.c" 
-o "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study/study""" terminated with exit code: 1. 
* Terminal will be reused by tasks, press any key to close it.

 

 

 

tasks.json์—์„œ "gcc -std=c23" ์š”๊ฒŒ ๋ฌธ์ œ

gcc๋กœ ์‹คํ–‰ํ•˜๋Š”๊ฑด๋ฐ ๋’ค์— -std=c23๊นŒ์ง€ ํ†ต์ฑ„๋กœ ๋ช…๋ น์–ด๋กœ ์ธ์‹ํ•ด๋ฒ„๋ ค์„œ gcc๋ฅผ ๋ชป์ฐพ์Œ...

C, C++ ๋ชจ๋‘ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ args์— ๋ถ„๋ฆฌํ•ด์„œ ์ถ”๊ฐ€ํ•ด์ฃผ์—ˆ๋‹ค

 

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build C program",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-std=c23",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}

 

 

* Executing task: gcc -std=c23 "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\study.c" -o 
"C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study/study" 

'gcc'์€(๋Š”) ๋‚ด๋ถ€ ๋˜๋Š” ์™ธ๋ถ€ ๋ช…๋ น, ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ, ๋˜๋Š” ๋ฐฐ์น˜ ํŒŒ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. 
* The terminal process "C:\WINDOWS\System32\cmd.exe /d /c 
gcc -std=c23 "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\study.c" 
-o "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study/study"" terminated with exit code: 1. 
* Terminal will be reused by tasks, press any key to close it.

 

 

 

 

 

VS Code์—์„œ gcc๋ฅผ ๋ชป์ฐพ๋Š”๋ด๋‹ค..  VS Code๊ฐ€ MinGW์˜ PATH๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•จ

ํ„ฐ๋ฏธ๋„์—์„œ๋Š” gcc ๋ฒ„์ „ ์ฒดํฌ ๋ช…๋ น ๋“ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ์ž˜ ๋™์ž‘ํ•œ๋‹ค

๊ทธ๋Ÿฌ๋‹ˆ ์ € ์ปค๋งจ๋“œ์— gcc๋งŒ ๋‹ฌ๋ž‘ ์žˆ๋Š” ๊ฑธ ์•„๋ž˜์ฒ˜๋Ÿผ ์ ˆ๋Œ€๊ฒฝ๋กœ๋กœ ์žก์•„์ฃผ์—ˆ๋‹ค

"command": "C:\\mingw64\\bin\\gcc.exe"

 

 

 

์ข‹์•„ ๊ทธ๋Ÿผ ์ปดํŒŒ์ผ์„ ๋‹ค์‹œ ๋Œ๋ ค๋ณด๋ฉด

* Executing task: C:\mingw64\bin\gcc.exe -std=c23 
"C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\.vscode\tasks.json" 
-o "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\.vscode/tasks" 
C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/15.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot open output file 
C:\Users\userpc\Downloads\ \c_study\.vscode/tasks.exe: No space left on device 
collect2.exe: error: ld returned 1 exit status 

* The terminal process "C:\WINDOWS\System32\cmd.exe /d /c 
C:\mingw64\bin\gcc.exe -std=c23 
"C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\.vscode\tasks.json" 
-o "C:\Users\userpc\Downloads\๋ถ€์ŠคํŠธ์บ ํ”„ ์ž๋ฃŒ\c_study\.vscode/tasks"" 
terminated with exit code: 1. 
* Terminal will be reused by tasks, press any key to close it.

 

 

 

 

 

ld.exe: cannot open output file ... No space left on device

 

์šฉ๋Ÿ‰์ด ์—†๋‹ค...? 20GB ๋„˜๊ฒŒ ๋‚จ์•„์žˆ๋Š”๋ฐ..?

์•„ ์ปดํŒŒ์ผ ํ•˜๋ ค๋Š” ํŒŒ์ผ ๊ฒฝ๋กœ ์ค‘ ๋„์–ด์“ฐ๊ธฐ๋‚˜ ํ•œ๊ธ€์ด ์žˆ์œผ๋ฉด ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค

 

๋‹ค์šด๋กœ๋“œ ํด๋”๋กœ ์˜ฎ๊ฒจ์ฃผ์—ˆ๋”๋‹ˆ

 

 *  Executing task: C:\mingw64\bin\gcc.exe -std=c23 C:\Users\userpc\Downloads\c_study\study.c -o C:\Users\userpc\Downloads\c_study/study 

 *  Terminal will be reused by tasks, press any key to close it. 

 *  Executing task: cmd /C C:\Users\userpc\Downloads\c_study\study 

Hello World

 

 

 

์ž˜ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค

๋.