โน๏ธ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.2 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448 |
| Last Crawled | 2026-04-07 20:20:00 (6 days ago) |
| First Indexed | not set |
| HTTP Status Code | 200 |
| Meta Title | ํํ C++ ์ปดํ์ผ ์ค๋ฅ ํด๊ฒฐ ๊ฐ์ด๋ | LabEx |
| Meta Description | C++ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ง๋จํ๊ณ ํด๊ฒฐํ๋ ์ ๋ต์ ๋ฐฐ์ฐ๊ณ , ์ฝ๋ ํ์ง์ ๊ฐ์ ํ๋ฉฐ ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ๋ฅผ ๊ฐ์ํํ๋ ์ ๋ฌธ๊ฐ ํ์ ํ์ธํ์ธ์. |
| Meta Canonical | null |
| Boilerpipe Text | ํ์ตํ๊ธฐ
ํํ ๋ฆฌ์ผ
C++
์๊ฐ
๋ชจ๋ ์์ค์ ๊ฐ๋ฐ์๋ค์๊ฒ C++ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ค ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฒช๋ ์ผ๋ฐ์ ์ธ ์ปดํ์ผ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ์๋ณํ๋ฉฐ ํด๊ฒฐํ๋ ๋ฐ ํ์์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฒด๊ณ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ์ ํ์ํจ์ผ๋ก์จ ๋์ฑ ๊นจ๋ํ๊ณ ๊ฐ๋ ฅํ C++ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋น๋ ์๊ฐ ์ค๋ฅ๋ฅผ ์ต์ํํ๋ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ปดํ์ผ ์ค๋ฅ ๊ธฐ๋ณธ
์ปดํ์ผ ์ค๋ฅ๋ ๋ฌด์์ธ๊ฐ์?
์ปดํ์ผ ์ค๋ฅ๋ C++ ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅํ ๊ธฐ๊ณ ์ฝ๋๋ก ์ฑ๊ณต์ ์ผ๋ก ๋ณํํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ์ ๋ฐฉํดํ๋ฉฐ, LabEx ์ C++ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฐ๋ฐ์์๊ฒ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ปดํ์ผ ์ค๋ฅ ์ ํ
์ปดํ์ผ ์ค๋ฅ๋ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ผ๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
์ค๋ฅ ์ ํ
์ค๋ช
์์
๊ตฌ๋ฌธ ์ค๋ฅ
์ธ์ด ๋ฌธ๋ฒ ๊ท์น ์๋ฐ
์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ๊ดํธ ๋ถ์ผ์น
์๋ฏธ ์ค๋ฅ
์ฝ๋ ๊ตฌ์กฐ์ ๋
ผ๋ฆฌ์ ์ค๋ฅ
ํ์
๋ถ์ผ์น, ํจ์ ํธ์ถ ์ค๋ฅ
๋ง์ปค ์ค๋ฅ
์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ์ฐ๊ฒฐ ๋ฌธ์
์ ์๋์ง ์์ ์ฐธ์กฐ, ์ค๋ณต ์ ์
์ผ๋ฐ์ ์ธ ์ปดํ์ผ ์ค๋ฅ ์ํฌํ๋ก์ฐ
graph TD
A[์ฝ๋ ์์ฑ] --> B{์ฝ๋ ์ปดํ์ผ}
B --> |์ค๋ฅ ๊ฐ์ง| C[์ค๋ฅ ์๋ณ]
C --> D[์ค๋ฅ ๋ฉ์์ง ์ดํด]
D --> E[์ค๋ฅ ์์ ]
E --> B
B --> |์ค๋ฅ ์์| F[์ปดํ์ผ ์ฑ๊ณต]
๊ธฐ๋ณธ ์ปดํ์ผ ํ๋ก์ธ์ค
Ubuntu ์์ g++ ๋ฅผ ์ฌ์ฉํ์ฌ C++ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋, ํ๋ก์ธ์ค๋ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์นฉ๋๋ค.
์ ์ฒ๋ฆฌ
์ปดํ์ผ
์ด์
๋ธ๋ฆฌ
๋งํน
์ปดํ์ผ ๋ช
๋ น์ด ์์
g++ -Wall -std=c++11 myprogram.cpp -o myprogram
-Wall
ํ๋๊ทธ๋ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ฑํํ์ฌ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ฃผ์ ๋ด์ฉ
์ปดํ์ผ ์ค๋ฅ๋ ์ ์์ ์ด๋ฉฐ ๊ฐ๋ฐ ๊ณผ์ ์ ์ผ๋ถ์
๋๋ค.
ํจ์จ์ ์ธ ๋๋ฒ๊น
์ ์ํด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
LabEx ๋ ์ปดํ์ผ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค.
์ค๋ฅ ์ ํ ๋ฐ ์์ธ
๊ตฌ๋ฌธ ์ค๋ฅ
๊ตฌ๋ฌธ ์ค๋ฅ๋ ์ฝ๋๊ฐ C++ ์ธ์ด ๋ฌธ๋ฒ ๊ท์น์ ์๋ฐํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์ฝ๊ฒ ๊ฐ์งํ ์ ์์ต๋๋ค.
์ผ๋ฐ์ ์ธ ๊ตฌ๋ฌธ ์ค๋ฅ ์์
// ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ
int x = 5 // ์ค๋ฅ: ๋ฌธ์ฅ ๋์ ์ธ๋ฏธ์ฝ๋ก ';'์ด ํ์ํฉ๋๋ค.
// ๊ดํธ ๋ถ์ผ์น
void function() {
int x = 10;
if (x > 0 { // ์ค๋ฅ: ๋ซ๋ ๊ดํธ๊ฐ ์์ต๋๋ค.
// ์ฝ๋ ๋ธ๋ก
}
}
์๋ฏธ ์ค๋ฅ
์๋ฏธ ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์งํ ์ ์๋ ์๋ชป๋ ๋
ผ๋ฆฌ ๋๋ ํ์
๋ถ์ผ์น๋ฅผ ํฌํจํฉ๋๋ค.
ํ์
๋ถ์ผ์น ์์
int main() {
std::string name = 42; // ์ค๋ฅ: int ๋ฅผ string ์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค.
return 0;
}
๋ง์ปค ์ค๋ฅ
๋ง์ปค ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ๊ฐ์ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค.
๋ง์ปค ์ค๋ฅ ์ ํ
์ค๋ฅ ์ ํ
์ค๋ช
์์
์ ์๋์ง ์์ ์ฐธ์กฐ
ํจ์ ์ ์๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ
์ ์ธ๋์ง ์์ ํจ์ ํธ์ถ
์ค๋ณต ์ ์
์ฌ๋ณผ ์ ์ธ์ด ์ค๋ณต๋ ๊ฒฝ์ฐ
์ฌ๋ฌ ํ์ผ์์ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ
๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ปดํ์ผ ์ค๋ฅ
graph TD
A[๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ค๋ฅ] --> B[์ด๊ธฐํ๋์ง ์์ ๋ณ์]
A --> C[ํฌ์ธํฐ ๋จ์ฉ]
A --> D[๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์ ]
ํฌ์ธํฐ ์ค๋ฅ ์์
int* ptr; // ์ด๊ธฐํ๋์ง ์์ ํฌ์ธํฐ
*ptr = 10; // ์ ์๋์ง ์์ ๋์
ํ
ํ๋ฆฟ ๋ฐ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
// ์ฌ์ฉ์ ์ ์ ํ์
์ '+' ์ฐ์ฐ์๊ฐ ์ ์๋์ง ์์ผ๋ฉด ์ค๋ฅ
MyCustomType result = add(obj1, obj2);
return 0;
}
์ปดํ์ผ ๊ฒฝ๊ณ ์นดํ
๊ณ ๋ฆฌ
๊ฒฝ๊ณ ์์ค
์ค๋ช
๊ถ์ฅ ์กฐ์น
๋ฎ์
๊ฒฝ๋ฏธํ ๋ฌธ์
์ ํ์ ๊ฒํ
์ค๊ฐ
์ ์ฌ์ ๋ฌธ์
์กฐ์ฌ
๋์
๊ฐ๋ฅํ ๋ฒ๊ทธ
์ฆ์ ์์
LabEx ์ ์ต์ ์ ์ค์ฒ ์ฌํญ
ํญ์ ๊ฒฝ๊ณ ํ๋๊ทธ (
-Wall -Wextra
) ๋ก ์ปดํ์ผํฉ๋๋ค.
์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฃผ์ ๊น๊ฒ ์ฝ์ต๋๋ค.
์ต์ C++ ๊ธฐ๋ฅ๊ณผ ์ค๋งํธ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ปดํ์ผ๋ฌ ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค.
๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
์ฒด๊ณ์ ์ธ ์ค๋ฅ ํด๊ฒฐ ์ ๊ทผ ๋ฐฉ์
graph TD
A[์ปดํ์ผ ์ค๋ฅ] --> B[์ค๋ฅ ๋ฉ์์ง ์ฝ๊ธฐ]
B --> C[์ค๋ฅ ์์น ํ์
]
C --> D[์ค๋ฅ ์ ํ ์ดํด]
D --> E[๋ง์ถคํ ์์ ์ ์ฉ]
E --> F[์ฌ์ปดํ์ผ]
์์ธํ ์ง๋จ์ ์ํ ์ปดํ์ผ ํ๋๊ทธ
ํ์ ์ปดํ์ผ ํ๋๊ทธ
ํ๋๊ทธ
๋ชฉ์
์์
-Wall
๋ชจ๋ ๊ฒฝ๊ณ ํ์ฑํ
g++ -Wall main.cpp
-Wextra
์ถ๊ฐ ๊ฒฝ๊ณ ํ์ฑํ
g++ -Wextra main.cpp
-g
๋๋ฒ๊น
์ ๋ณด ์์ฑ
g++ -g main.cpp
์ค๋ฅ ๋ฉ์์ง ํด์ ๊ธฐ๋ฒ
์ปดํ์ผ๋ฌ ๋ฉ์์ง ํด๋
// ์์ ์ค๋ฅ ๋ฐ์ ์ฝ๋
int main() {
int x;
return x; // ์ด๊ธฐํ๋์ง ์์ ๋ณ์ ๊ฒฝ๊ณ
}
์ปดํ์ผ๋ฌ ์ถ๋ ฅ:
main.cpp: warning: 'x' is used uninitialized
๋๋ฒ๊น
์ ๋ต
์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ
Clang ์ ์ ๋ถ์๊ธฐ
cppcheck
Valgrind
์์ ์ ์ ๋ถ์ ๋ช
๋ น์ด
cppcheck --enable=all main.cpp
์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
์ ์ง์ ๋๋ฒ๊น
๋ฐฉ๋ฒ
์์ ์ฝ๋ ์กฐ๊ฐ ์ปดํ์ผ
๊ฐ๋ณ ํจ์ ํ
์คํธ
๋ฌธ์ ์ฝ๋ ๋ธ๋ก ๋ถ๋ฆฌ
์ถ๋ ฅ๋ฌธ ๋๋ ๋๋ฒ๊ฑฐ ์ฌ์ฉ
GDB ๋ฅผ ์ด์ฉํ ๊ณ ๊ธ ๋๋ฒ๊น
## ๋๋ฒ๊น
์ฌ๋ณผ ํฌํจ ์ปดํ์ผ
g++ -g main.cpp -o myprogram
## ๋๋ฒ๊น
์ธ์
์์
gdb ./myprogram
๊ถ์ฅ ๋๋ฒ๊น
์ํฌํ๋ก์ฐ
graph TD
A[์ฝ๋ ์์ฑ] --> B[์ปดํ์ผ]
B --> |์ค๋ฅ ๋ฐ์| C[์ค๋ฅ ๋ฉ์์ง ๋ถ์]
B --> |์ค๋ฅ ์์| D[ํ๋ก๊ทธ๋จ ์คํ]
C --> E[๊ทผ๋ณธ ์์ธ ํ์
]
E --> F[์ฝ๋ ์์ ]
F --> B
LabEx ๋๋ฒ๊น
์ต์ ์ ์ค์ฒ ์ฌํญ
์ต์ C++ ๊ธฐ๋ฅ ์ฌ์ฉ
์ค๋งํธ ํฌ์ธํฐ ํ์ฉ
ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ๊ตฌํ
์ปดํ์ผ ์ ํ์
๊ฒ์ฌ ํ์ฉ
์ค๋ฅ ์๋ฐฉ ๊ธฐ๋ฒ
๊ธฐ๋ฒ
์ค๋ช
์ด์
RAII
๋ฆฌ์์ค ํ๋ ์ด๊ธฐํ (Resource Acquisition Is Initialization)
์๋ ๋ฆฌ์์ค ๊ด๋ฆฌ
์ค๋งํธ ํฌ์ธํฐ
์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง
๊ฐ๋ ฅํ ํ์ดํ
์๊ฒฉํ ํ์
๊ฒ์ฌ
๋ฐํ์ ์ค๋ฅ ๊ฐ์
์ค์ฉ์ ์ธ ๋๋ฒ๊น
ํ
ํญ์ ๊ฒฝ๊ณ ํ์ฑํํ์ฌ ์ปดํ์ผ
๋ณต์กํ ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋ถํ
๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ ์ถ์
์ ๊ธฐ์ ์ผ๋ก ์ฝ๋ ๊ฒํ ๋ฐ ๋ฆฌํฉํ ๋ง
์์ฝ
C++ ์ปดํ์ผ ์ค๋ฅ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํจ์จ์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์์ ์
๋๋ค. ์ค๋ฅ ์ ํ์ ์ดํดํ๊ณ ์ฒด๊ณ์ ์ธ ์ง๋จ ๊ธฐ๋ฒ์ ์ ์ฉํ๋ฉฐ ์ฝ๋ ํด๊ฒฐ์ ๋ํ ์ ๋ต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๊ณผ ์์ฐ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ ์ปดํ์ผ ์ค๋ฅ๋ C++ ์ธ์ด ๋ฉ์ปค๋์ฆ๊ณผ ์ต์ ์ ์ค์ฒ ์ฌํญ์ ๋ํ ์ดํด๋ฅผ ๋์ผ ์ ์๋ ๊ธฐํ์์ ๊ธฐ์ตํ์ญ์์ค. |
| Markdown | [](https://labex.io/ko)
- [ํ์ตํ๊ธฐ](https://labex.io/ko/learn "Learn")
- [๊ฐ๊ฒฉ](https://labex.io/ko/pricing "Pricing")
[๋ก๊ทธ์ธ๋ก๊ทธ์ธ](https://labex.io/ko/login)[๋ฌด๋ฃ ๊ฐ์
๋ฌด๋ฃ ๊ฐ์
](https://labex.io/ko/register)
1. [ํ์ตํ๊ธฐ](https://labex.io/ko/learn)
2. [ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials)
3. [C++](https://labex.io/ko/tutorials/category/cpp)
# ํํ C++ ์ปดํ์ผ ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
[C++](https://labex.io/learn/cpp)
Beginner

ํํ C++ ์ปดํ์ผ ์ค๋ฅ ํด๊ฒฐ ๋ฐฉ๋ฒ
[์ง๊ธ ์ฐ์ตํ๊ธฐ](https://labex.io/ko/labs/cpp-flip-pattern-half-pyramid-in-c-96206)
๋ชฉ์ฐจ
- [์๊ฐ](https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448#%EC%86%8C%EA%B0%9C)
- [์ปดํ์ผ ์ค๋ฅ ๊ธฐ๋ณธ](https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448#%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EC%98%A4%EB%A5%98-%EA%B8%B0%EB%B3%B8)
- [์ค๋ฅ ์ ํ ๋ฐ ์์ธ](https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448#%EC%98%A4%EB%A5%98-%EC%9C%A0%ED%98%95-%EB%B0%8F-%EC%9B%90%EC%9D%B8)
- [๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ](https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448#%EB%AC%B8%EC%A0%9C-%ED%95%B4%EA%B2%B0-%EA%B8%B0%EB%B2%95)
- [์์ฝ](https://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448#%EC%9A%94%EC%95%BD)
[](https://labex.io/ko/labs/cpp-flip-pattern-half-pyramid-in-c-96206)
[์ง๊ธ ์ฐ์ตํ๊ธฐ](https://labex.io/ko/labs/cpp-flip-pattern-half-pyramid-in-c-96206)
## ์๊ฐ
๋ชจ๋ ์์ค์ ๊ฐ๋ฐ์๋ค์๊ฒ C++ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ค ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฒช๋ ์ผ๋ฐ์ ์ธ ์ปดํ์ผ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ์๋ณํ๋ฉฐ ํด๊ฒฐํ๋ ๋ฐ ํ์์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฒด๊ณ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ์ ํ์ํจ์ผ๋ก์จ ๋์ฑ ๊นจ๋ํ๊ณ ๊ฐ๋ ฅํ C++ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋น๋ ์๊ฐ ์ค๋ฅ๋ฅผ ์ต์ํํ๋ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
## ์ปดํ์ผ ์ค๋ฅ ๊ธฐ๋ณธ
### ์ปดํ์ผ ์ค๋ฅ๋ ๋ฌด์์ธ๊ฐ์?
์ปดํ์ผ ์ค๋ฅ๋ C++ ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅํ ๊ธฐ๊ณ ์ฝ๋๋ก ์ฑ๊ณต์ ์ผ๋ก ๋ณํํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ์ ๋ฐฉํดํ๋ฉฐ, LabEx ์ C++ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฐ๋ฐ์์๊ฒ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
### ์ปดํ์ผ ์ค๋ฅ ์ ํ
์ปดํ์ผ ์ค๋ฅ๋ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ผ๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
| ์ค๋ฅ ์ ํ | ์ค๋ช
| ์์ |
|---|---|---|
| ๊ตฌ๋ฌธ ์ค๋ฅ | ์ธ์ด ๋ฌธ๋ฒ ๊ท์น ์๋ฐ | ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ๊ดํธ ๋ถ์ผ์น |
| ์๋ฏธ ์ค๋ฅ | ์ฝ๋ ๊ตฌ์กฐ์ ๋
ผ๋ฆฌ์ ์ค๋ฅ | ํ์
๋ถ์ผ์น, ํจ์ ํธ์ถ ์ค๋ฅ |
| ๋ง์ปค ์ค๋ฅ | ์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ์ฐ๊ฒฐ ๋ฌธ์ | ์ ์๋์ง ์์ ์ฐธ์กฐ, ์ค๋ณต ์ ์ |
### ์ผ๋ฐ์ ์ธ ์ปดํ์ผ ์ค๋ฅ ์ํฌํ๋ก์ฐ
graph TD A\[์ฝ๋ ์์ฑ\] --\> B{์ฝ๋ ์ปดํ์ผ} B --\> \|์ค๋ฅ ๊ฐ์ง\| C\[์ค๋ฅ ์๋ณ\] C --\> D\[์ค๋ฅ ๋ฉ์์ง ์ดํด\] D --\> E\[์ค๋ฅ ์์ \] E --\> B B --\> \|์ค๋ฅ ์์\| F\[์ปดํ์ผ ์ฑ๊ณต\]
### ๊ธฐ๋ณธ ์ปดํ์ผ ํ๋ก์ธ์ค
Ubuntu ์์ g++ ๋ฅผ ์ฌ์ฉํ์ฌ C++ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋, ํ๋ก์ธ์ค๋ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์นฉ๋๋ค.
1. ์ ์ฒ๋ฆฌ
2. ์ปดํ์ผ
3. ์ด์
๋ธ๋ฆฌ
4. ๋งํน
### ์ปดํ์ผ ๋ช
๋ น์ด ์์
```
g++ -Wall -std=c++11 myprogram.cpp -o myprogram
```
`-Wall` ํ๋๊ทธ๋ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ฑํํ์ฌ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
### ์ฃผ์ ๋ด์ฉ
- ์ปดํ์ผ ์ค๋ฅ๋ ์ ์์ ์ด๋ฉฐ ๊ฐ๋ฐ ๊ณผ์ ์ ์ผ๋ถ์
๋๋ค.
- ํจ์จ์ ์ธ ๋๋ฒ๊น
์ ์ํด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- LabEx ๋ ์ปดํ์ผ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค.
## ์ค๋ฅ ์ ํ ๋ฐ ์์ธ
### ๊ตฌ๋ฌธ ์ค๋ฅ
๊ตฌ๋ฌธ ์ค๋ฅ๋ ์ฝ๋๊ฐ C++ ์ธ์ด ๋ฌธ๋ฒ ๊ท์น์ ์๋ฐํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์ฝ๊ฒ ๊ฐ์งํ ์ ์์ต๋๋ค.
#### ์ผ๋ฐ์ ์ธ ๊ตฌ๋ฌธ ์ค๋ฅ ์์
```
// ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ
int x = 5 // ์ค๋ฅ: ๋ฌธ์ฅ ๋์ ์ธ๋ฏธ์ฝ๋ก ';'์ด ํ์ํฉ๋๋ค.
// ๊ดํธ ๋ถ์ผ์น
void function() {
int x = 10;
if (x > 0 { // ์ค๋ฅ: ๋ซ๋ ๊ดํธ๊ฐ ์์ต๋๋ค.
// ์ฝ๋ ๋ธ๋ก
}
}
```
### ์๋ฏธ ์ค๋ฅ
์๋ฏธ ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์งํ ์ ์๋ ์๋ชป๋ ๋
ผ๋ฆฌ ๋๋ ํ์
๋ถ์ผ์น๋ฅผ ํฌํจํฉ๋๋ค.
#### ํ์
๋ถ์ผ์น ์์
```
int main() {
std::string name = 42; // ์ค๋ฅ: int ๋ฅผ string ์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค.
return 0;
}
```
### ๋ง์ปค ์ค๋ฅ
๋ง์ปค ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ๊ฐ์ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค.
#### ๋ง์ปค ์ค๋ฅ ์ ํ
| ์ค๋ฅ ์ ํ | ์ค๋ช
| ์์ |
|---|---|---|
| ์ ์๋์ง ์์ ์ฐธ์กฐ | ํจ์ ์ ์๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ | ์ ์ธ๋์ง ์์ ํจ์ ํธ์ถ |
| ์ค๋ณต ์ ์ | ์ฌ๋ณผ ์ ์ธ์ด ์ค๋ณต๋ ๊ฒฝ์ฐ | ์ฌ๋ฌ ํ์ผ์์ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ |
### ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ปดํ์ผ ์ค๋ฅ
graph TD A\[๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ค๋ฅ\] --\> B\[์ด๊ธฐํ๋์ง ์์ ๋ณ์\] A --\> C\[ํฌ์ธํฐ ๋จ์ฉ\] A --\> D\[๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์ \]
#### ํฌ์ธํฐ ์ค๋ฅ ์์
```
int* ptr; // ์ด๊ธฐํ๋์ง ์์ ํฌ์ธํฐ
*ptr = 10; // ์ ์๋์ง ์์ ๋์
```
### ํ
ํ๋ฆฟ ๋ฐ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ
```
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
// ์ฌ์ฉ์ ์ ์ ํ์
์ '+' ์ฐ์ฐ์๊ฐ ์ ์๋์ง ์์ผ๋ฉด ์ค๋ฅ
MyCustomType result = add(obj1, obj2);
return 0;
}
```
### ์ปดํ์ผ ๊ฒฝ๊ณ ์นดํ
๊ณ ๋ฆฌ
| ๊ฒฝ๊ณ ์์ค | ์ค๋ช
| ๊ถ์ฅ ์กฐ์น |
|---|---|---|
| ๋ฎ์ | ๊ฒฝ๋ฏธํ ๋ฌธ์ | ์ ํ์ ๊ฒํ |
| ์ค๊ฐ | ์ ์ฌ์ ๋ฌธ์ | ์กฐ์ฌ |
| ๋์ | ๊ฐ๋ฅํ ๋ฒ๊ทธ | ์ฆ์ ์์ |
### LabEx ์ ์ต์ ์ ์ค์ฒ ์ฌํญ
- ํญ์ ๊ฒฝ๊ณ ํ๋๊ทธ (`-Wall -Wextra`) ๋ก ์ปดํ์ผํฉ๋๋ค.
- ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฃผ์ ๊น๊ฒ ์ฝ์ต๋๋ค.
- ์ต์ C++ ๊ธฐ๋ฅ๊ณผ ์ค๋งํธ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค.
## ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
### ์ฒด๊ณ์ ์ธ ์ค๋ฅ ํด๊ฒฐ ์ ๊ทผ ๋ฐฉ์
graph TD A\[์ปดํ์ผ ์ค๋ฅ\] --\> B\[์ค๋ฅ ๋ฉ์์ง ์ฝ๊ธฐ\] B --\> C\[์ค๋ฅ ์์น ํ์
\] C --\> D\[์ค๋ฅ ์ ํ ์ดํด\] D --\> E\[๋ง์ถคํ ์์ ์ ์ฉ\] E --\> F\[์ฌ์ปดํ์ผ\]
### ์์ธํ ์ง๋จ์ ์ํ ์ปดํ์ผ ํ๋๊ทธ
#### ํ์ ์ปดํ์ผ ํ๋๊ทธ
| ํ๋๊ทธ | ๋ชฉ์ | ์์ |
|---|---|---|
| `-Wall` | ๋ชจ๋ ๊ฒฝ๊ณ ํ์ฑํ | g++ -Wall main.cpp |
| `-Wextra` | ์ถ๊ฐ ๊ฒฝ๊ณ ํ์ฑํ | g++ -Wextra main.cpp |
| `-g` | ๋๋ฒ๊น
์ ๋ณด ์์ฑ | g++ -g main.cpp |
### ์ค๋ฅ ๋ฉ์์ง ํด์ ๊ธฐ๋ฒ
#### ์ปดํ์ผ๋ฌ ๋ฉ์์ง ํด๋
```
// ์์ ์ค๋ฅ ๋ฐ์ ์ฝ๋
int main() {
int x;
return x; // ์ด๊ธฐํ๋์ง ์์ ๋ณ์ ๊ฒฝ๊ณ
}
```
์ปดํ์ผ๋ฌ ์ถ๋ ฅ:
```
main.cpp: warning: 'x' is used uninitialized
```
### ๋๋ฒ๊น
์ ๋ต
#### ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ
1. Clang ์ ์ ๋ถ์๊ธฐ
2. cppcheck
3. Valgrind
#### ์์ ์ ์ ๋ถ์ ๋ช
๋ น์ด
```
cppcheck --enable=all main.cpp
```
### ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
#### ์ ์ง์ ๋๋ฒ๊น
๋ฐฉ๋ฒ
1. ์์ ์ฝ๋ ์กฐ๊ฐ ์ปดํ์ผ
2. ๊ฐ๋ณ ํจ์ ํ
์คํธ
3. ๋ฌธ์ ์ฝ๋ ๋ธ๋ก ๋ถ๋ฆฌ
4. ์ถ๋ ฅ๋ฌธ ๋๋ ๋๋ฒ๊ฑฐ ์ฌ์ฉ
### GDB ๋ฅผ ์ด์ฉํ ๊ณ ๊ธ ๋๋ฒ๊น
```
## ๋๋ฒ๊น
์ฌ๋ณผ ํฌํจ ์ปดํ์ผ
g++ -g main.cpp -o myprogram
## ๋๋ฒ๊น
์ธ์
์์
gdb ./myprogram
```
### ๊ถ์ฅ ๋๋ฒ๊น
์ํฌํ๋ก์ฐ
graph TD A\[์ฝ๋ ์์ฑ\] --\> B\[์ปดํ์ผ\] B --\> \|์ค๋ฅ ๋ฐ์\| C\[์ค๋ฅ ๋ฉ์์ง ๋ถ์\] B --\> \|์ค๋ฅ ์์\| D\[ํ๋ก๊ทธ๋จ ์คํ\] C --\> E\[๊ทผ๋ณธ ์์ธ ํ์
\] E --\> F\[์ฝ๋ ์์ \] F --\> B
### LabEx ๋๋ฒ๊น
์ต์ ์ ์ค์ฒ ์ฌํญ
- ์ต์ C++ ๊ธฐ๋ฅ ์ฌ์ฉ
- ์ค๋งํธ ํฌ์ธํฐ ํ์ฉ
- ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ๊ตฌํ
- ์ปดํ์ผ ์ ํ์
๊ฒ์ฌ ํ์ฉ
### ์ค๋ฅ ์๋ฐฉ ๊ธฐ๋ฒ
| ๊ธฐ๋ฒ | ์ค๋ช
| ์ด์ |
|---|---|---|
| RAII | ๋ฆฌ์์ค ํ๋ ์ด๊ธฐํ (Resource Acquisition Is Initialization) | ์๋ ๋ฆฌ์์ค ๊ด๋ฆฌ |
| ์ค๋งํธ ํฌ์ธํฐ | ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ | ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง |
| ๊ฐ๋ ฅํ ํ์ดํ | ์๊ฒฉํ ํ์
๊ฒ์ฌ | ๋ฐํ์ ์ค๋ฅ ๊ฐ์ |
### ์ค์ฉ์ ์ธ ๋๋ฒ๊น
ํ
1. ํญ์ ๊ฒฝ๊ณ ํ์ฑํํ์ฌ ์ปดํ์ผ
2. ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋ถํ
3. ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ ์ถ์
4. ์ ๊ธฐ์ ์ผ๋ก ์ฝ๋ ๊ฒํ ๋ฐ ๋ฆฌํฉํ ๋ง
## ์์ฝ
C++ ์ปดํ์ผ ์ค๋ฅ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํจ์จ์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์์ ์
๋๋ค. ์ค๋ฅ ์ ํ์ ์ดํดํ๊ณ ์ฒด๊ณ์ ์ธ ์ง๋จ ๊ธฐ๋ฒ์ ์ ์ฉํ๋ฉฐ ์ฝ๋ ํด๊ฒฐ์ ๋ํ ์ ๋ต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๊ณผ ์์ฐ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ ์ปดํ์ผ ์ค๋ฅ๋ C++ ์ธ์ด ๋ฉ์ปค๋์ฆ๊ณผ ์ต์ ์ ์ค์ฒ ์ฌํญ์ ๋ํ ์ดํด๋ฅผ ๋์ผ ์ ์๋ ๊ธฐํ์์ ๊ธฐ์ตํ์ญ์์ค.
๊ณต์
์ฃผ์
[Linux](https://labex.io/ko/tutorials/category/linux)[DevOps](https://labex.io/ko/tutorials/category/devops)[์ฌ์ด๋ฒ ๋ณด์](https://labex.io/ko/tutorials/category/cybersecurity)[Kali Linux](https://labex.io/ko/tutorials/category/kali)[DevOps Engineer](https://labex.io/ko/tutorials/category/devops-engineer)[Cybersecurity Engineer](https://labex.io/ko/tutorials/category/cybersecurity-engineer)[๋ฐ์ดํฐ๋ฒ ์ด์ค](https://labex.io/ko/tutorials/category/database)[๋ฐ์ดํฐ ๊ณผํ](https://labex.io/ko/tutorials/category/datascience)[Red Hat Enterprise Linux](https://labex.io/ko/tutorials/category/rhel)[CompTIA](https://labex.io/ko/tutorials/category/comptia)[Docker](https://labex.io/ko/tutorials/category/docker)[Kubernetes](https://labex.io/ko/tutorials/category/kubernetes)[Python](https://labex.io/ko/tutorials/category/python)[Git](https://labex.io/ko/tutorials/category/git)[Shell](https://labex.io/ko/tutorials/category/shell)[Nmap](https://labex.io/ko/tutorials/category/nmap)[Wireshark](https://labex.io/ko/tutorials/category/wireshark)[Hydra](https://labex.io/ko/tutorials/category/hydra)[Java](https://labex.io/ko/tutorials/category/java)[SQLite](https://labex.io/ko/tutorials/category/sqlite)[PostgreSQL](https://labex.io/ko/tutorials/category/postgresql)[MySQL](https://labex.io/ko/tutorials/category/mysql)[Redis](https://labex.io/ko/tutorials/category/redis)[MongoDB](https://labex.io/ko/tutorials/category/mongodb)[Golang](https://labex.io/ko/tutorials/category/go)[C](https://labex.io/ko/tutorials/category/c)[Jenkins](https://labex.io/ko/tutorials/category/jenkins)[Ansible](https://labex.io/ko/tutorials/category/ansible)[Pandas](https://labex.io/ko/tutorials/category/pandas)[NumPy](https://labex.io/ko/tutorials/category/numpy)[scikit-learn](https://labex.io/ko/tutorials/category/sklearn)[Matplotlib](https://labex.io/ko/tutorials/category/matplotlib)[์น ๊ฐ๋ฐ](https://labex.io/ko/tutorials/category/webdev)[HTML](https://labex.io/ko/tutorials/category/html)[CSS](https://labex.io/ko/tutorials/category/css)[JavaScript](https://labex.io/ko/tutorials/category/javascript)[React](https://labex.io/ko/tutorials/category/react)
๊ด๋ จ [C++ ์ฝ์ค](https://labex.io/learn/cpp)
[ C++ ํ๋ก๊ทธ๋๋ฐ ์
๋ฌธ cpp](https://labex.io/ko/courses/cpp-programming-for-beginners)
[ OpenGL ๋ก ํ์๊ณ ๋ง๋ค๊ธฐ cpp](https://labex.io/ko/courses/project-creating-the-solar-system-in-opengl)
[ C++ ๋ก ๊ฐ๋จํ Docker ์ปจํ
์ด๋ ๋ง๋ค๊ธฐ cpp](https://labex.io/ko/courses/project-creating-a-simple-docker-container-in-cpp)
[](https://labex.io/ko)
๐ฐ๐ท ํ๊ตญ์ด
์ค์ต ๋ฉ์ผ๋ก Linux, DevOps ๋ฐ ์ฌ์ด๋ฒ ๋ณด์์ ๋ฐฐ์ฐ์ธ์ ์ค์ต ๋ฉ
์ค์ต ๊ณผ์
[๋ฆฌ๋
์ค ํ์ต](https://labex.io/ko/learn/linux)
[ํ์ด์ฌ ํ์ต](https://labex.io/ko/learn/python)
[์ฌ์ด๋ฒ ๋ณด์ ํ์ต](https://labex.io/ko/learn/cybersecurity)
[๋์ปค ํ์ต](https://labex.io/ko/learn/docker)
[CompTIA ํ์ต](https://labex.io/ko/learn/comptia)
[์๋ฐ ํ์ต](https://labex.io/ko/learn/java)
[๋ฐ์ดํฐ ๊ณผํ ํ์ต](https://labex.io/ko/learn/data-science)
[Git ํ์ต](https://labex.io/ko/learn/git)
[์ฟ ๋ฒ๋คํฐ์ค ํ์ต](https://labex.io/ko/learn/kubernetes)
[์นผ๋ฆฌ ๋ฆฌ๋
์ค ํ์ต](https://labex.io/ko/learn/kali)
[์ค์๋ธ ํ์ต](https://labex.io/ko/learn/ansible)
[๋ฐ๋ธ์ต์ค ํ์ต](https://labex.io/ko/learn/devops)
[๋จธ์ ๋ฌ๋ ํ์ต](https://labex.io/ko/learn/ml)
[RHCSA ์ค์ ์ํ](https://labex.io/ko/courses/rhcsa-certification-exam-practice-exercises)
[CompTIA ๋ฆฌ๋
์ค+](https://labex.io/ko/courses/comptia-linux-plus-training-labs)
[ํ์ด์ฌ ์ฐ์ต ๋ฌธ์ ](https://labex.io/ko/exercises/python)
[๋ฆฌ๋
์ค ๋ช
๋ น์ด ์์ฝํ](https://linux-commands.labex.io/)
์ค์ต ๋ฉ
[๋ฆฌ๋
์ค ํ๋ก์ ํธ](https://labex.io/ko/projects/category/linux)
[ํ์ด์ฌ ํ๋ก์ ํธ](https://labex.io/ko/projects/category/python)
[์๋ฐ ํ๋ก์ ํธ](https://labex.io/ko/projects/category/java)
[C ์ธ์ด ํ๋ก์ ํธ](https://labex.io/ko/projects/category/c)
[๋ฐ๋ธ์ต์ค ํ๋ก์ ํธ](https://labex.io/ko/projects/category/devops)
[Go ์ธ์ด ํ๋ก์ ํธ](https://labex.io/ko/projects/category/go)
[Git ์ค์ต](https://labex.io/ko/free-labs/git)
[์
ธ ์ค์ต](https://labex.io/ko/free-labs/shell)
[์๋ฐ ์ค์ต](https://labex.io/ko/free-labs/java)
[๋์ปค ์ค์ต](https://labex.io/ko/free-labs/docker)
[MySQL ์ค์ต](https://labex.io/ko/free-labs/mysql)
[MongoDB ์ค์ต](https://labex.io/ko/free-labs/mongodb)
[์ฟ ๋ฒ๋คํฐ์ค ์ค์ต](https://labex.io/ko/free-labs/kubernetes)
[๋จธ์ ๋ฌ๋ ์ค์ต](https://labex.io/ko/free-labs/ml)
[์ฌ์ด๋ฒ ๋ณด์ ์ค์ต](https://labex.io/ko/free-labs/cybersecurity)
[Nmap ์ค์ต](https://labex.io/ko/free-labs/nmap)
[Wireshark ์ค์ต](https://labex.io/ko/free-labs/wireshark)
๋์ดํฐ
[์จ๋ผ์ธ ๋ฆฌ๋
์ค ํฐ๋ฏธ๋](https://labex.io/ko/tutorials/linux-online-linux-terminal-and-playground-372915)
[๋์ปค ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/docker-online-docker-playground-372912)
[์ฟ ๋ฒ๋คํฐ์ค ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/kubernetes-online-kubernetes-playground-593609)
[ํ์ด์ฌ ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/python-online-python-playground-372886)
[Go ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/go-online-golang-playground-372913)
[C++ ์จ๋ผ์ธ ์ปดํ์ผ๋ฌ](https://labex.io/ko/tutorials/cpp-online-c-playground-372911)
[์ค์๋ธ ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/ansible-online-ansible-playground-415831)
[์ ํจ์ค ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/jenkins-online-jenkins-playground-415838)
[์๋ฐ ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/java-online-java-playground-372914)
[๋ฌ์คํธ ํ๋ ์ด๊ทธ๋ผ์ด๋](https://labex.io/ko/tutorials/rust-online-rust-playground-372918)
[์นผ๋ฆฌ ๋ฆฌ๋
์ค ์จ๋ผ์ธ](https://labex.io/ko/tutorials/kali-online-kali-linux-terminal-and-playground-592935)
[Nmap ์จ๋ผ์ธ](https://labex.io/ko/tutorials/nmap-online-nmap-playground-593613)
[์์ด์ด์คํฌ ์จ๋ผ์ธ](https://labex.io/ko/tutorials/wireshark-online-wireshark-playground-593624)
[MySQL ์จ๋ผ์ธ](https://labex.io/ko/tutorials/mysql-online-mysql-playground-372916)
[PostgreSQL ์จ๋ผ์ธ](https://labex.io/ko/tutorials/kali-online-postgresql-database-playground-593616)
[RHCSA ์ํ ์๋ฎฌ๋ ์ดํฐ](https://labex.io/ko/tutorials/rhel-online-rhel-terminal-rhcsa-and-rhce-exam-playground-592933)
[์ถ์ฒ Linux ๋ฐฐํฌํ](https://labex.io/ko/lesson/choosing-a-linux-distribution)
ํํ ๋ฆฌ์ผ
[Linux ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/linux)
[Docker ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/docker)
[Kubernetes ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/kubernetes)
[MongoDB ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/mongodb)
[PostgreSQL ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/postgresql)
[Wireshark ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/wireshark)
[DevOps ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/devops)
[์ฌ์ด๋ฒ ๋ณด์ ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials/category/cybersecurity)
[Java ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/java-java-interview-questions-and-answers-593685)
[Python ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/python-python-interview-questions-and-answers-593698)
[Kubernetes ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/kubernetes-kubernetes-interview-questions-and-answers-593688)
[DevOps ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/linux-devops-interview-questions-and-answers-593679)
[์ฌ์ด๋ฒ ๋ณด์ ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/cybersecurity-cybersecurity-interview-questions-and-answers-593676)
[Docker ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/docker-docker-interview-questions-and-answers-593680)
[Linux ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/linux-linux-interview-questions-and-answers-593689)
[MongoDB ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/mongodb-mongodb-interview-questions-and-answers-593692)
[๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฉด์ ์ง๋ฌธ](https://labex.io/ko/tutorials/linux-database-interview-questions-and-answers-593677)
[์ง์](https://support.labex.io/)\|[๋ฌธ์ํ๊ธฐ](mailto:info@labex.io)\|[ํฌ๋ผ](https://labex.io/ko/forum)\|[ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials)\|[๋ฌด๋ฃ ์ค์ต](https://labex.io/ko/free-labs)\|[LINUX JOURNEY](https://labex.io/ko/linuxjourney)\|[์ฐ์ต](https://labex.io/ko/exercises)\|[LABEX TEAMS](https://labex.io/ko/teams)\|[์ ํด](https://labex.io/ko/questions/labex-affiliate-program-a6jov663)\|[์ฌ์ดํธ๋งต](https://sitemap.labex.io/)\|[๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ](https://labex.io/ko/privacy)\|[์๋น์ค ์ด์ฉ์ฝ๊ด](https://labex.io/ko/terms)
ยฉ 2017-2026 LabEx Technology Limited All Rights Reserved |
| Readable Markdown | 1. [ํ์ตํ๊ธฐ](https://labex.io/ko/learn)
2. [ํํ ๋ฆฌ์ผ](https://labex.io/ko/tutorials)
3. [C++](https://labex.io/ko/tutorials/category/cpp)
## ์๊ฐ
๋ชจ๋ ์์ค์ ๊ฐ๋ฐ์๋ค์๊ฒ C++ ์ปดํ์ผ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ์ด๋ ค์ธ ์ ์์ต๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ค ํ๋ก๊ทธ๋๋จธ๊ฐ ๊ฒช๋ ์ผ๋ฐ์ ์ธ ์ปดํ์ผ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ์๋ณํ๋ฉฐ ํด๊ฒฐํ๋ ๋ฐ ํ์์ ์ธ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฒด๊ณ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ์ ํ์ํจ์ผ๋ก์จ ๋์ฑ ๊นจ๋ํ๊ณ ๊ฐ๋ ฅํ C++ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๋น๋ ์๊ฐ ์ค๋ฅ๋ฅผ ์ต์ํํ๋ ๋ฅ๋ ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
## ์ปดํ์ผ ์ค๋ฅ ๊ธฐ๋ณธ
### ์ปดํ์ผ ์ค๋ฅ๋ ๋ฌด์์ธ๊ฐ์?
์ปดํ์ผ ์ค๋ฅ๋ C++ ์ปดํ์ผ๋ฌ๊ฐ ์์ค ์ฝ๋๋ฅผ ์คํ ๊ฐ๋ฅํ ๊ธฐ๊ณ ์ฝ๋๋ก ์ฑ๊ณต์ ์ผ๋ก ๋ณํํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ์ ๋ฐฉํดํ๋ฉฐ, LabEx ์ C++ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ฌ์ฉํ๋ ๋ชจ๋ ๊ฐ๋ฐ์์๊ฒ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
### ์ปดํ์ผ ์ค๋ฅ ์ ํ
์ปดํ์ผ ์ค๋ฅ๋ ํฌ๊ฒ ๋ค์๊ณผ ๊ฐ์ ์ ํ์ผ๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
| ์ค๋ฅ ์ ํ | ์ค๋ช
| ์์ |
|---|---|---|
| ๊ตฌ๋ฌธ ์ค๋ฅ | ์ธ์ด ๋ฌธ๋ฒ ๊ท์น ์๋ฐ | ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ, ๊ดํธ ๋ถ์ผ์น |
| ์๋ฏธ ์ค๋ฅ | ์ฝ๋ ๊ตฌ์กฐ์ ๋
ผ๋ฆฌ์ ์ค๋ฅ | ํ์
๋ถ์ผ์น, ํจ์ ํธ์ถ ์ค๋ฅ |
| ๋ง์ปค ์ค๋ฅ | ์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ์ฐ๊ฒฐ ๋ฌธ์ | ์ ์๋์ง ์์ ์ฐธ์กฐ, ์ค๋ณต ์ ์ |
### ์ผ๋ฐ์ ์ธ ์ปดํ์ผ ์ค๋ฅ ์ํฌํ๋ก์ฐ
graph TD A\[์ฝ๋ ์์ฑ\] --\> B{์ฝ๋ ์ปดํ์ผ} B --\> \|์ค๋ฅ ๊ฐ์ง\| C\[์ค๋ฅ ์๋ณ\] C --\> D\[์ค๋ฅ ๋ฉ์์ง ์ดํด\] D --\> E\[์ค๋ฅ ์์ \] E --\> B B --\> \|์ค๋ฅ ์์\| F\[์ปดํ์ผ ์ฑ๊ณต\]
### ๊ธฐ๋ณธ ์ปดํ์ผ ํ๋ก์ธ์ค
Ubuntu ์์ g++ ๋ฅผ ์ฌ์ฉํ์ฌ C++ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผํ ๋, ํ๋ก์ธ์ค๋ ์ฌ๋ฌ ๋จ๊ณ๋ฅผ ๊ฑฐ์นฉ๋๋ค.
1. ์ ์ฒ๋ฆฌ
2. ์ปดํ์ผ
3. ์ด์
๋ธ๋ฆฌ
4. ๋งํน
### ์ปดํ์ผ ๋ช
๋ น์ด ์์
```
g++ -Wall -std=c++11 myprogram.cpp -o myprogram
```
`-Wall` ํ๋๊ทธ๋ ๋ชจ๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ํ์ฑํํ์ฌ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
### ์ฃผ์ ๋ด์ฉ
- ์ปดํ์ผ ์ค๋ฅ๋ ์ ์์ ์ด๋ฉฐ ๊ฐ๋ฐ ๊ณผ์ ์ ์ผ๋ถ์
๋๋ค.
- ํจ์จ์ ์ธ ๋๋ฒ๊น
์ ์ํด ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- LabEx ๋ ์ปดํ์ผ ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ถ์ฅํฉ๋๋ค.
## ์ค๋ฅ ์ ํ ๋ฐ ์์ธ
### ๊ตฌ๋ฌธ ์ค๋ฅ
๊ตฌ๋ฌธ ์ค๋ฅ๋ ์ฝ๋๊ฐ C++ ์ธ์ด ๋ฌธ๋ฒ ๊ท์น์ ์๋ฐํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ค๋ฅ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ด๊ณ ์ฝ๊ฒ ๊ฐ์งํ ์ ์์ต๋๋ค.
#### ์ผ๋ฐ์ ์ธ ๊ตฌ๋ฌธ ์ค๋ฅ ์์
```
// ์ธ๋ฏธ์ฝ๋ก ๋๋ฝ
int x = 5 // ์ค๋ฅ: ๋ฌธ์ฅ ๋์ ์ธ๋ฏธ์ฝ๋ก ';'์ด ํ์ํฉ๋๋ค.
// ๊ดํธ ๋ถ์ผ์น
void function() {
int x = 10;
if (x > 0 { // ์ค๋ฅ: ๋ซ๋ ๊ดํธ๊ฐ ์์ต๋๋ค.
// ์ฝ๋ ๋ธ๋ก
}
}
```
### ์๋ฏธ ์ค๋ฅ
์๋ฏธ ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ๊ฐ์งํ ์ ์๋ ์๋ชป๋ ๋
ผ๋ฆฌ ๋๋ ํ์
๋ถ์ผ์น๋ฅผ ํฌํจํฉ๋๋ค.
#### ํ์
๋ถ์ผ์น ์์
```
int main() {
std::string name = 42; // ์ค๋ฅ: int ๋ฅผ string ์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค.
return 0;
}
```
### ๋ง์ปค ์ค๋ฅ
๋ง์ปค ์ค๋ฅ๋ ์ปดํ์ผ๋ฌ๊ฐ ์๋ก ๋ค๋ฅธ ์ฝ๋ ๋ชจ๋ ๊ฐ์ ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ ์ ์์ ๋ ๋ฐ์ํฉ๋๋ค.
#### ๋ง์ปค ์ค๋ฅ ์ ํ
| ์ค๋ฅ ์ ํ | ์ค๋ช
| ์์ |
|---|---|---|
| ์ ์๋์ง ์์ ์ฐธ์กฐ | ํจ์ ์ ์๊ฐ ๋๋ฝ๋ ๊ฒฝ์ฐ | ์ ์ธ๋์ง ์์ ํจ์ ํธ์ถ |
| ์ค๋ณต ์ ์ | ์ฌ๋ณผ ์ ์ธ์ด ์ค๋ณต๋ ๊ฒฝ์ฐ | ์ฌ๋ฌ ํ์ผ์์ ํจ์๋ฅผ ์ ์ํ๋ ๊ฒฝ์ฐ |
### ๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ปดํ์ผ ์ค๋ฅ
graph TD A\[๋ฉ๋ชจ๋ฆฌ ๊ด๋ จ ์ค๋ฅ\] --\> B\[์ด๊ธฐํ๋์ง ์์ ๋ณ์\] A --\> C\[ํฌ์ธํฐ ๋จ์ฉ\] A --\> D\[๋ฉ๋ชจ๋ฆฌ ํ ๋น ๋ฌธ์ \]
#### ํฌ์ธํฐ ์ค๋ฅ ์์
```
int* ptr; // ์ด๊ธฐํ๋์ง ์์ ํฌ์ธํฐ
*ptr = 10; // ์ ์๋์ง ์์ ๋์
```
### ํ
ํ๋ฆฟ ๋ฐ ์ ๋ค๋ฆญ ํ๋ก๊ทธ๋๋ฐ ์ค๋ฅ
```
template <typename T>
T add(T a, T b) {
return a + b;
}
int main() {
// ์ฌ์ฉ์ ์ ์ ํ์
์ '+' ์ฐ์ฐ์๊ฐ ์ ์๋์ง ์์ผ๋ฉด ์ค๋ฅ
MyCustomType result = add(obj1, obj2);
return 0;
}
```
### ์ปดํ์ผ ๊ฒฝ๊ณ ์นดํ
๊ณ ๋ฆฌ
| ๊ฒฝ๊ณ ์์ค | ์ค๋ช
| ๊ถ์ฅ ์กฐ์น |
|---|---|---|
| ๋ฎ์ | ๊ฒฝ๋ฏธํ ๋ฌธ์ | ์ ํ์ ๊ฒํ |
| ์ค๊ฐ | ์ ์ฌ์ ๋ฌธ์ | ์กฐ์ฌ |
| ๋์ | ๊ฐ๋ฅํ ๋ฒ๊ทธ | ์ฆ์ ์์ |
### LabEx ์ ์ต์ ์ ์ค์ฒ ์ฌํญ
- ํญ์ ๊ฒฝ๊ณ ํ๋๊ทธ (`-Wall -Wextra`) ๋ก ์ปดํ์ผํฉ๋๋ค.
- ์ค๋ฅ ๋ฉ์์ง๋ฅผ ์ฃผ์ ๊น๊ฒ ์ฝ์ต๋๋ค.
- ์ต์ C++ ๊ธฐ๋ฅ๊ณผ ์ค๋งํธ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ์ปดํ์ผ๋ฌ ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธํฉ๋๋ค.
## ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
### ์ฒด๊ณ์ ์ธ ์ค๋ฅ ํด๊ฒฐ ์ ๊ทผ ๋ฐฉ์
graph TD A\[์ปดํ์ผ ์ค๋ฅ\] --\> B\[์ค๋ฅ ๋ฉ์์ง ์ฝ๊ธฐ\] B --\> C\[์ค๋ฅ ์์น ํ์
\] C --\> D\[์ค๋ฅ ์ ํ ์ดํด\] D --\> E\[๋ง์ถคํ ์์ ์ ์ฉ\] E --\> F\[์ฌ์ปดํ์ผ\]
### ์์ธํ ์ง๋จ์ ์ํ ์ปดํ์ผ ํ๋๊ทธ
#### ํ์ ์ปดํ์ผ ํ๋๊ทธ
| ํ๋๊ทธ | ๋ชฉ์ | ์์ |
|---|---|---|
| `-Wall` | ๋ชจ๋ ๊ฒฝ๊ณ ํ์ฑํ | g++ -Wall main.cpp |
| `-Wextra` | ์ถ๊ฐ ๊ฒฝ๊ณ ํ์ฑํ | g++ -Wextra main.cpp |
| `-g` | ๋๋ฒ๊น
์ ๋ณด ์์ฑ | g++ -g main.cpp |
### ์ค๋ฅ ๋ฉ์์ง ํด์ ๊ธฐ๋ฒ
#### ์ปดํ์ผ๋ฌ ๋ฉ์์ง ํด๋
```
// ์์ ์ค๋ฅ ๋ฐ์ ์ฝ๋
int main() {
int x;
return x; // ์ด๊ธฐํ๋์ง ์์ ๋ณ์ ๊ฒฝ๊ณ
}
```
์ปดํ์ผ๋ฌ ์ถ๋ ฅ:
```
main.cpp: warning: 'x' is used uninitialized
```
### ๋๋ฒ๊น
์ ๋ต
#### ์ ์ ์ฝ๋ ๋ถ์ ๋๊ตฌ
1. Clang ์ ์ ๋ถ์๊ธฐ
2. cppcheck
3. Valgrind
#### ์์ ์ ์ ๋ถ์ ๋ช
๋ น์ด
```
cppcheck --enable=all main.cpp
```
### ์ผ๋ฐ์ ์ธ ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ฒ
#### ์ ์ง์ ๋๋ฒ๊น
๋ฐฉ๋ฒ
1. ์์ ์ฝ๋ ์กฐ๊ฐ ์ปดํ์ผ
2. ๊ฐ๋ณ ํจ์ ํ
์คํธ
3. ๋ฌธ์ ์ฝ๋ ๋ธ๋ก ๋ถ๋ฆฌ
4. ์ถ๋ ฅ๋ฌธ ๋๋ ๋๋ฒ๊ฑฐ ์ฌ์ฉ
### GDB ๋ฅผ ์ด์ฉํ ๊ณ ๊ธ ๋๋ฒ๊น
```
## ๋๋ฒ๊น
์ฌ๋ณผ ํฌํจ ์ปดํ์ผ
g++ -g main.cpp -o myprogram
## ๋๋ฒ๊น
์ธ์
์์
gdb ./myprogram
```
### ๊ถ์ฅ ๋๋ฒ๊น
์ํฌํ๋ก์ฐ
graph TD A\[์ฝ๋ ์์ฑ\] --\> B\[์ปดํ์ผ\] B --\> \|์ค๋ฅ ๋ฐ์\| C\[์ค๋ฅ ๋ฉ์์ง ๋ถ์\] B --\> \|์ค๋ฅ ์์\| D\[ํ๋ก๊ทธ๋จ ์คํ\] C --\> E\[๊ทผ๋ณธ ์์ธ ํ์
\] E --\> F\[์ฝ๋ ์์ \] F --\> B
### LabEx ๋๋ฒ๊น
์ต์ ์ ์ค์ฒ ์ฌํญ
- ์ต์ C++ ๊ธฐ๋ฅ ์ฌ์ฉ
- ์ค๋งํธ ํฌ์ธํฐ ํ์ฉ
- ํฌ๊ด์ ์ธ ์ค๋ฅ ์ฒ๋ฆฌ ๊ตฌํ
- ์ปดํ์ผ ์ ํ์
๊ฒ์ฌ ํ์ฉ
### ์ค๋ฅ ์๋ฐฉ ๊ธฐ๋ฒ
| ๊ธฐ๋ฒ | ์ค๋ช
| ์ด์ |
|---|---|---|
| RAII | ๋ฆฌ์์ค ํ๋ ์ด๊ธฐํ (Resource Acquisition Is Initialization) | ์๋ ๋ฆฌ์์ค ๊ด๋ฆฌ |
| ์ค๋งํธ ํฌ์ธํฐ | ์๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ | ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง |
| ๊ฐ๋ ฅํ ํ์ดํ | ์๊ฒฉํ ํ์
๊ฒ์ฌ | ๋ฐํ์ ์ค๋ฅ ๊ฐ์ |
### ์ค์ฉ์ ์ธ ๋๋ฒ๊น
ํ
1. ํญ์ ๊ฒฝ๊ณ ํ์ฑํํ์ฌ ์ปดํ์ผ
2. ๋ณต์กํ ๋ฌธ์ ๋ฅผ ์์ ๋ถ๋ถ์ผ๋ก ๋ถํ
3. ๋ฒ์ ๊ด๋ฆฌ ์์คํ
์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ ์ถ์
4. ์ ๊ธฐ์ ์ผ๋ก ์ฝ๋ ๊ฒํ ๋ฐ ๋ฆฌํฉํ ๋ง
## ์์ฝ
C++ ์ปดํ์ผ ์ค๋ฅ ๋ฌธ์ ํด๊ฒฐ ๋ฅ๋ ฅ์ ํจ์จ์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์์ ์
๋๋ค. ์ค๋ฅ ์ ํ์ ์ดํดํ๊ณ ์ฒด๊ณ์ ์ธ ์ง๋จ ๊ธฐ๋ฒ์ ์ ์ฉํ๋ฉฐ ์ฝ๋ ํด๊ฒฐ์ ๋ํ ์ ๋ต์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๊ฐ๋ฐํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ ๊ณผ ์์ฐ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ ์ปดํ์ผ ์ค๋ฅ๋ C++ ์ธ์ด ๋ฉ์ปค๋์ฆ๊ณผ ์ต์ ์ ์ค์ฒ ์ฌํญ์ ๋ํ ์ดํด๋ฅผ ๋์ผ ์ ์๋ ๊ธฐํ์์ ๊ธฐ์ตํ์ญ์์ค. |
| Shard | 28 (laksa) |
| Root Hash | 1963243295958744828 |
| Unparsed URL | io,labex!/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448 s443 |