๐Ÿ•ท๏ธ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

Query:
Response:
Calculated Shard: 28 (from laksa071)

2. Crawled Status Check

Query:
Response:

3. Robots.txt Check

Query:
Response:

4. Spam/Ban Check

Query:
Response:

5. Seen Status Check

โ„น๏ธ Skipped - page is already crawled

๐Ÿ“„
INDEXABLE
โœ…
CRAWLED
6 days ago
๐Ÿค–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH0.2 months ago
History dropPASSisNull(history_drop_reason)No drop reason
Spam/banPASSfh_dont_index != 1 AND ml_spam_score = 0ml_spam_score=0
CanonicalPASSmeta_canonical IS NULL OR = '' OR = src_unparsedNot set

Page Details

PropertyValue
URLhttps://labex.io/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448
Last Crawled2026-04-07 20:20:00 (6 days ago)
First Indexednot set
HTTP Status Code200
Meta Titleํ”ํ•œ C++ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๊ฐ€์ด๋“œ | LabEx
Meta DescriptionC++ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์ง„๋‹จํ•˜๊ณ  ํ•ด๊ฒฐํ•˜๋Š” ์ „๋žต์„ ๋ฐฐ์šฐ๊ณ , ์ฝ”๋“œ ํ’ˆ์งˆ์„ ๊ฐœ์„ ํ•˜๋ฉฐ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๋Š” ์ „๋ฌธ๊ฐ€ ํŒ์„ ํ™•์ธํ•˜์„ธ์š”.
Meta Canonicalnull
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
[![LabEx](https://labex.io/labex-logo-dark.svg)](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++ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• [![](https://labex.io/cdn-cgi/image/width=84,height=84,quality=80,format=auto,fit=cover,onerror=redirect/https://file.labex.io/upload/u/1991/UeeQL5Tj986q.png)C++](https://labex.io/learn/cpp) Beginner ![ํ”ํ•œ C++ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•](https://icons.labex.io/how-to-troubleshoot-common-c-compile-errors.png) ํ”ํ•œ 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) [![Default VM Cover](https://labex.io/cdn-cgi/image/quality=80,format=auto,onerror=redirect/images/lab/env-desktop.png)](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++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto,onerror=redirect/https://course-cover.labex.io/cpp-programming-for-beginners.png?lang=ko) C++ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ cpp](https://labex.io/ko/courses/cpp-programming-for-beginners) [![OpenGL ๋กœ ํƒœ์–‘๊ณ„ ๋งŒ๋“ค๊ธฐ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto,onerror=redirect/https://course-cover.labex.io/project-creating-the-solar-system-in-opengl.png?lang=ko) OpenGL ๋กœ ํƒœ์–‘๊ณ„ ๋งŒ๋“ค๊ธฐ cpp](https://labex.io/ko/courses/project-creating-the-solar-system-in-opengl) [![C++ ๋กœ ๊ฐ„๋‹จํ•œ Docker ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto,onerror=redirect/https://course-cover.labex.io/project-creating-a-simple-docker-container-in-cpp.png?lang=ko) C++ ๋กœ ๊ฐ„๋‹จํ•œ Docker ์ปจํ…Œ์ด๋„ˆ ๋งŒ๋“ค๊ธฐ cpp](https://labex.io/ko/courses/project-creating-a-simple-docker-container-in-cpp) [![LabEx](https://labex.io/labex-logo-light.svg)](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++ ์–ธ์–ด ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ์ตœ์„ ์˜ ์‹ค์ฒœ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ์ž„์„ ๊ธฐ์–ตํ•˜์‹ญ์‹œ์˜ค.
Shard28 (laksa)
Root Hash1963243295958744828
Unparsed URLio,labex!/ko/tutorials/cpp-how-to-troubleshoot-common-c-compile-errors-435448 s443