๐Ÿ•ท๏ธ Crawler Inspector

URL Lookup

Direct Parameter Lookup

Raw Queries and Responses

1. Shard Calculation

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

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
2 months ago
๐Ÿค–
ROBOTS ALLOWED

Page Info Filters

FilterStatusConditionDetails
HTTP statusPASSdownload_http_code = 200HTTP 200
Age cutoffPASSdownload_stamp > now() - 6 MONTH2.7 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/c-how-to-compile-with-modern-c-standards-466271
Last Crawled2026-01-21 17:23:57 (2 months ago)
First Indexednot set
HTTP Status Code200
Meta Titleํ˜„๋Œ€ C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ• | LabEx
Meta Description๊ณ ๊ธ‰ C ์ปดํŒŒ์ผ ๊ธฐ๋ฒ•์„ ๋ฐฐ์šฐ๊ณ , ์ตœ์‹  ํ‘œ์ค€์„ ํƒ์ƒ‰ํ•˜๋ฉฐ, ํฌ๊ด„์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ ์ „๋žต์œผ๋กœ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ตœ์ ํ™”ํ•˜์„ธ์š”.
Meta Canonicalnull
Boilerpipe Text
C ํ‘œ์ค€์˜ ๋ฐœ์ „ C ํ‘œ์ค€ ์†Œ๊ฐœ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ถœํ˜„ ์ดํ›„ ์ƒ๋‹นํ•œ ๋ฐœ์ „์„ ๊ฑฐ๋“ญํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ LabEx ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ, C ํ‘œ์ค€์˜ ์ง„ํ™” ๊ณผ์ •์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ํ˜„๋Œ€ C ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” C ํ‘œ์ค€ ์ด์ •ํ‘œ timeline title C ์–ธ์–ด ํ‘œ์ค€์˜ ๋ฐœ์ „ 1978 : K&R C (์ฒซ ๋ฒˆ์งธ ํŒ) 1989 : ANSI C (C89/C90) 1999 : C99 ํ‘œ์ค€ 2011 : C11 ํ‘œ์ค€ 2018 : C17 ํ‘œ์ค€ 2024 : C2x (์˜ˆ์ •) ์ฃผ์š” ํ‘œ์ค€ ํŠน์ง• ํ‘œ์ค€ ์ฃผ์š” ํŠน์ง• ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๊ฐœ์„  ์‚ฌํ•ญ C89/C90 ์ฒซ ๋ฒˆ์งธ ํ‘œ์ค€ํ™” ๋ฒ„์ „ ํ•จ์ˆ˜ ์›ํ˜•, ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ์ผ๊ด€์„ฑ C99 ์ธ๋ผ์ธ ํ•จ์ˆ˜ ๋„์ž… ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฐฐ์—ด, ์ƒˆ๋กœ์šด ์ •์ˆ˜ํ˜• ์ž๋ฃŒํ˜• C11 ํ–ฅ์ƒ๋œ ์ž๋ฃŒํ˜• ์•ˆ์ „์„ฑ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ง€์›, ์ต๋ช… ๊ตฌ์กฐ์ฒด C17 C11 ์˜ ๊ฐœ์„  ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ฐœ์„ ๋œ ํ‘œ์ค€ ์ค€์ˆ˜ ํ‘œ์ค€์˜ ํ˜„๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ ์–ธ์–ด ์ผ๊ด€์„ฑ ๊ฐ ํ‘œ์ค€์€ ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ํ”Œ๋žซํผ ๊ฐ„์˜ ์ผ๊ด€์„ฑ๊ณผ ์ด์‹์„ฑ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜์—ฌ ๋”์šฑ ์•ˆ์ •์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ฐ ๊ธฐ๋Šฅ ์ƒˆ๋กœ์šด ํ‘œ์ค€์€ ๋‹ค์Œ์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. ๋” ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ํ–ฅ์ƒ๋œ ์ž๋ฃŒํ˜• ๊ฒ€์‚ฌ ๊ณ ๊ธ‰ ์–ธ์–ด ๊ธฐ๋Šฅ ํ˜„๋Œ€ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ง€์› ์‹ค์ œ ์˜ˆ์ œ ์ตœ์‹  ํ‘œ์ค€๊ณผ ํ˜ธํ™˜๋˜๋Š” ๊ฐ„๋‹จํ•œ C ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. #include <stdio.h> #include <stdbool.h> // C99 ๋ถ€์šธ ์ž๋ฃŒํ˜• int main(void) { bool is_modern = true; printf("ํ˜„๋Œ€ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ: %s\n", is_modern ? "ํ›Œ๋ฅญํ•จ" : "์ „ํ†ต์ "); return 0; } ์ปดํŒŒ์ผ ๊ณ ๋ ค ์‚ฌํ•ญ ์ตœ์‹  C ํ‘œ์ค€์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์ค€์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. -std=c99 -std=c11 -std=c17 Ubuntu ์—์„œ์˜ ์˜ˆ์‹œ: gcc -std=c17 -Wall -Wextra program.c -o program ๊ฒฐ๋ก  C ํ‘œ์ค€์˜ ๋ฐœ์ „ ๊ณผ์ •์„ ์ดํ•ดํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” LabEx ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ํ™˜๊ฒฝ์—์„œ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ ์ปดํŒŒ์ผ๋Ÿฌ ๊ธฐ๋ณธ ์ดํ•ด ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•˜๋Š” C ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ค‘์š”ํ•œ ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. LabEx ํ”Œ๋žซํผ๊ณผ Ubuntu ์‹œ์Šคํ…œ์—์„œ ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ C ์ปดํŒŒ์ผ๋Ÿฌ graph TD A[C ์ปดํŒŒ์ผ๋Ÿฌ] --> B[GCC] A --> C[Clang] A --> D[Intel C ์ปดํŒŒ์ผ๋Ÿฌ] B --> E[GNU ์ปดํŒŒ์ผ๋Ÿฌ ์ปฌ๋ ‰์…˜] C --> F[LLVM ๊ธฐ๋ฐ˜ ์ปดํŒŒ์ผ๋Ÿฌ] ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ค๋ช… ์˜ˆ์‹œ -std C ์–ธ์–ด ํ‘œ์ค€ ์ง€์ • -std=c17 -O ์ตœ์ ํ™” ์ˆ˜์ค€ -O2 , -O3 -Wall ๋ชจ๋“  ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” -Wall -Wextra -g ๋””๋ฒ„๊น… ์ •๋ณด ์ƒ์„ฑ -g Ubuntu ์—์„œ GCC ์„ค์น˜ sudo apt update sudo apt install build-essential gcc --version ์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋ž˜๊ทธ ๋ฐ ์˜ต์…˜ ํ‘œ์ค€ ์„ ํƒ ## ํŠน์ • C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผ gcc -std=c11 program.c -o program gcc -std=c17 program.c -o program ์ตœ์ ํ™” ์ˆ˜์ค€ ## ์„œ๋กœ ๋‹ค๋ฅธ ์ตœ์ ํ™” ์ˆ˜์ค€ gcc -O0 program.c ## ์ตœ์ ํ™” ์—†์Œ gcc -O2 program.c ## ๊ถŒ์žฅ ์ตœ์ ํ™” gcc -O3 program.c ## ๊ณต๊ฒฉ์ ์ธ ์ตœ์ ํ™” ๊ณ ๊ธ‰ ๊ตฌ์„ฑ ๊ฒฝ๊ณ  ๊ด€๋ฆฌ // example.c #include <stdio.h> int main() { int x; // ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜ ๊ฒฝ๊ณ  printf("%d", x); return 0; } ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜ ์ปดํŒŒ์ผ: gcc -Wall -Wextra -Werror example.c ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ #define DEBUG_MODE 1 #ifdef DEBUG_MODE printf("๋””๋ฒ„๊ทธ ์ •๋ณด\n"); #endif ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ปดํŒŒ์ผ ## 64๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ 32๋น„ํŠธ ์ปดํŒŒ์ผ gcc -m32 program.c -o program ๊ถŒ์žฅ ์‚ฌํ•ญ ํ•ญ์ƒ -Wall -Wextra ์‚ฌ์šฉ ์ ์ ˆํ•œ ์ตœ์ ํ™” ์ˆ˜์ค€ ์„ ํƒ ์˜ฌ๋ฐ”๋ฅธ C ํ‘œ์ค€ ์„ ํƒ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ ํ™œ์„ฑํ™” LabEx ๊ถŒ์žฅ ์‚ฌํ•ญ LabEx ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ๋Š” ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ์ตœ์‹  ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ฒฐ๋ก  ํšจ๊ณผ์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ C ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ์ปดํŒŒ์ผ ์›Œํฌํ”Œ๋กœ์šฐ graph TD A[์†Œ์Šค ์ฝ”๋“œ] --> B[์ „์ฒ˜๋ฆฌ๊ธฐ] B --> C[์ปดํŒŒ์ผ๋Ÿฌ] C --> D[์–ด์…ˆ๋ธ”๋Ÿฌ] D --> E[๋ง์ปค] E --> F[์‹คํ–‰ ํŒŒ์ผ] ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„ ๋งคํฌ๋กœ ํ™•์žฅ #define MAX_SIZE 100 #define SQUARE(x) ((x) * (x)) int main() { int array[MAX_SIZE]; int result = SQUARE(5); return 0; } ์ „์ฒ˜๋ฆฌ ๋ช…๋ น์–ด: gcc -E program.c > preprocessed.c ์ปดํŒŒ์ผ ๋‹จ๊ณ„ ๋‹จ๊ณ„ ์„ค๋ช… ๋„๊ตฌ ์ „์ฒ˜๋ฆฌ ๋งคํฌ๋กœ ํ™•์žฅ, ํŒŒ์ผ ํฌํ•จ cpp ์ปดํŒŒ์ผ ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ gcc ์–ด์…ˆ๋ธ”๋ฆฌ ๊ฐ์ฒด ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ as ๋งํ‚น ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ ld ๊ณ ๊ธ‰ ์ปดํŒŒ์ผ ๊ธฐ๋ฒ• ๋ถ„๋ฆฌ ์ปดํŒŒ์ผ #ifndef HEADER_H #define HEADER_H int calculate(int a, int b); #endif math.c #include "header.h" int calculate(int a, int b) { return a + b; } main.c #include <stdio.h> #include "header.h" int main() { int result = calculate(5, 3); printf("Result: %d\n", result); return 0; } ์ปดํŒŒ์ผ ๊ณผ์ •: gcc -c math.c ## ๊ฐ์ฒด ํŒŒ์ผ ์ƒ์„ฑ gcc -c main.c ## ๊ฐ์ฒด ํŒŒ์ผ ์ƒ์„ฑ gcc math.o main.o -o program ## ๊ฐ์ฒด ํŒŒ์ผ ๋งํ‚น ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ํ”Œ๋ž˜๊ทธ ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊น… ## ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ๊ณผ ํ•จ๊ป˜ ์ปดํŒŒ์ผ gcc -O2 -g program.c -o program ## ๋ชจ๋“  ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” gcc -Wall -Wextra -Werror program.c -o program ์ •์  ๋ฐ ๋™์  ๋งํ‚น graph TD A[์ •์  ๋งํ‚น] --> B[์ „์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณต์‚ฌ] A --> C[๋” ํฐ ์‹คํ–‰ ํŒŒ์ผ] D[๋™์  ๋งํ‚น] --> E[๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ์กฐ] D --> F[๋” ์ž‘์€ ์‹คํ–‰ ํŒŒ์ผ] ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ## ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ gcc -c library.c ar rcs libmylib.a library.o ## ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งํ‚น gcc main.c -L. -lmylib -o program ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ## ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ gcc -shared -fPIC library.c -o libmylib.so ## ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งํ‚น gcc main.c -L. -lmylib -o program ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ## ARM์šฉ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ arm-linux-gnueabihf-gcc program.c -o program_arm LabEx ์ตœ์  ์‚ฌ๋ก€ ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ํ‘œ์ค€ ์‚ฌ์šฉ ํฌ๊ด„์ ์ธ ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” ์ตœ์ ํ™” ํ”Œ๋ž˜๊ทธ ํ™œ์šฉ ๋ถ„๋ฆฌ ์ปดํŒŒ์ผ ๊ตฌํ˜„ ๋งํ‚น ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ดํ•ด ๊ฒฐ๋ก  ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ๊ธฐ๋ฒ•์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ C ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
Markdown
[![LabEx](https://labex.io/labex-logo-dark.svg)](https://labex.io/ko) - [ํ•™์Šตํ•˜๊ธฐ](https://labex.io/ko/learn "Learn") - [ํ”„๋กœ์ ํŠธ](https://labex.io/ko/projects "Projects") - [๊ฐ€๊ฒฉ](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/c) # ํ˜„๋Œ€ C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ• [![](https://labex.io/cdn-cgi/image/width=84,height=84,quality=80,format=auto,fit=cover/https://file.labex.io/upload/u/1991/Xh33pU0aIWvt.png)C](https://labex.io/learn/c) Beginner ![ํ˜„๋Œ€ C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ•](https://icons.labex.io/how-to-compile-with-modern-c-standards.png) ํ˜„๋Œ€ C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐฉ๋ฒ• [์ง€๊ธˆ ์—ฐ์Šตํ•˜๊ธฐ](https://labex.io/ko/labs/c-use-of-gets-function-in-c-programming-123354) ๋ชฉ์ฐจ - [์†Œ๊ฐœ](https://labex.io/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271#%EC%86%8C%EA%B0%9C) - [C ํ‘œ์ค€์˜ ๋ฐœ์ „](https://labex.io/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271#c-%ED%91%9C%EC%A4%80%EC%9D%98-%EB%B0%9C%EC%A0%84) - [์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ](https://labex.io/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271#%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC-%EA%B5%AC%EC%84%B1) - [ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ](https://labex.io/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271#%ED%98%84%EB%8C%80%EC%A0%81%EC%9D%B8-%EC%BB%B4%ED%8C%8C%EC%9D%BC) - [์š”์•ฝ](https://labex.io/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271#%EC%9A%94%EC%95%BD) [![Default VM Cover](https://labex.io/cdn-cgi/image/quality=80,format=auto/images/lab/env-desktop.png)](https://labex.io/ko/labs/c-use-of-gets-function-in-c-programming-123354) [์ง€๊ธˆ ์—ฐ์Šตํ•˜๊ธฐ](https://labex.io/ko/labs/c-use-of-gets-function-in-c-programming-123354) ## ์†Œ๊ฐœ ์ด ํฌ๊ด„์ ์ธ ํŠœํ† ๋ฆฌ์–ผ์€ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ‘œ์ค€์˜ ๋ฐœ์ „ ๊ณผ์ •์„ ํƒ๊ตฌํ•˜๊ณ  ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํ•„์ˆ˜์ ์ธ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  C ํ‘œ์ค€๊ณผ ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์„ ์ดํ•ดํ•จ์œผ๋กœ์จ ํ”„๋กœ๊ทธ๋ž˜๋จธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์—์„œ ์ฝ”๋“œ ํ’ˆ์งˆ, ์„ฑ๋Šฅ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## C ํ‘œ์ค€์˜ ๋ฐœ์ „ ### C ํ‘œ์ค€ ์†Œ๊ฐœ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋Š” ์ถœํ˜„ ์ดํ›„ ์ƒ๋‹นํ•œ ๋ฐœ์ „์„ ๊ฑฐ๋“ญํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ LabEx ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ, C ํ‘œ์ค€์˜ ์ง„ํ™” ๊ณผ์ •์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ํ˜„๋Œ€ C ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ### ์ฃผ์š” C ํ‘œ์ค€ ์ด์ •ํ‘œ timeline title C ์–ธ์–ด ํ‘œ์ค€์˜ ๋ฐœ์ „ 1978 : K\&R C (์ฒซ ๋ฒˆ์งธ ํŒ) 1989 : ANSI C (C89/C90) 1999 : C99 ํ‘œ์ค€ 2011 : C11 ํ‘œ์ค€ 2018 : C17 ํ‘œ์ค€ 2024 : C2x (์˜ˆ์ •) ### ์ฃผ์š” ํ‘œ์ค€ ํŠน์ง• | ํ‘œ์ค€ | ์ฃผ์š” ํŠน์ง• | ์ฃผ๋ชฉํ•  ๋งŒํ•œ ๊ฐœ์„  ์‚ฌํ•ญ | |---|---|---| | C89/C90 | ์ฒซ ๋ฒˆ์งธ ํ‘œ์ค€ํ™” ๋ฒ„์ „ | ํ•จ์ˆ˜ ์›ํ˜•, ๊ธฐ๋ณธ ์ž๋ฃŒํ˜• ์ผ๊ด€์„ฑ | | C99 | ์ธ๋ผ์ธ ํ•จ์ˆ˜ ๋„์ž… | ๊ฐ€๋ณ€ ๊ธธ์ด ๋ฐฐ์—ด, ์ƒˆ๋กœ์šด ์ •์ˆ˜ํ˜• ์ž๋ฃŒํ˜• | | C11 | ํ–ฅ์ƒ๋œ ์ž๋ฃŒํ˜• ์•ˆ์ „์„ฑ | ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ ์ง€์›, ์ต๋ช… ๊ตฌ์กฐ์ฒด | | C17 | C11 ์˜ ๊ฐœ์„  | ๋ฒ„๊ทธ ์ˆ˜์ •, ๊ฐœ์„ ๋œ ํ‘œ์ค€ ์ค€์ˆ˜ | ### ํ‘œ์ค€์˜ ํ˜„๋Œ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ #### ์–ธ์–ด ์ผ๊ด€์„ฑ ๊ฐ ํ‘œ์ค€์€ ์„œ๋กœ ๋‹ค๋ฅธ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ํ”Œ๋žซํผ ๊ฐ„์˜ ์ผ๊ด€์„ฑ๊ณผ ์ด์‹์„ฑ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ตœ์‹  ํ‘œ์ค€์„ ์ค€์ˆ˜ํ•˜์—ฌ ๋”์šฑ ์•ˆ์ •์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. #### ์„ฑ๋Šฅ ๋ฐ ๊ธฐ๋Šฅ ์ƒˆ๋กœ์šด ํ‘œ์ค€์€ ๋‹ค์Œ์„ ๋„์ž…ํ•ฉ๋‹ˆ๋‹ค. - ๋” ํšจ์œจ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ - ํ–ฅ์ƒ๋œ ์ž๋ฃŒํ˜• ๊ฒ€์‚ฌ - ๊ณ ๊ธ‰ ์–ธ์–ด ๊ธฐ๋Šฅ - ํ˜„๋Œ€ ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜์— ๋Œ€ํ•œ ๋” ๋‚˜์€ ์ง€์› ### ์‹ค์ œ ์˜ˆ์ œ ์ตœ์‹  ํ‘œ์ค€๊ณผ ํ˜ธํ™˜๋˜๋Š” ๊ฐ„๋‹จํ•œ C ํ”„๋กœ๊ทธ๋žจ์˜ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ``` #include <stdio.h> #include <stdbool.h> // C99 ๋ถ€์šธ ์ž๋ฃŒํ˜• int main(void) { bool is_modern = true; printf("ํ˜„๋Œ€ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ: %s\n", is_modern ? "ํ›Œ๋ฅญํ•จ" : "์ „ํ†ต์ "); return 0; } ``` ### ์ปดํŒŒ์ผ ๊ณ ๋ ค ์‚ฌํ•ญ ์ตœ์‹  C ํ‘œ์ค€์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œ์ค€์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. - `-std=c99` - `-std=c11` - `-std=c17` Ubuntu ์—์„œ์˜ ์˜ˆ์‹œ: ``` gcc -std=c17 -Wall -Wextra program.c -o program ``` ### ๊ฒฐ๋ก  C ํ‘œ์ค€์˜ ๋ฐœ์ „ ๊ณผ์ •์„ ์ดํ•ดํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๋Š” LabEx ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ํ™˜๊ฒฝ์—์„œ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ## ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ ### ์ปดํŒŒ์ผ๋Ÿฌ ๊ธฐ๋ณธ ์ดํ•ด ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•˜๋Š” C ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ค‘์š”ํ•œ ์ธก๋ฉด์ž…๋‹ˆ๋‹ค. LabEx ํ”Œ๋žซํผ๊ณผ Ubuntu ์‹œ์Šคํ…œ์—์„œ ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ### ์ผ๋ฐ˜์ ์ธ C ์ปดํŒŒ์ผ๋Ÿฌ graph TD A\[C ์ปดํŒŒ์ผ๋Ÿฌ\] --\> B\[GCC\] A --\> C\[Clang\] A --\> D\[Intel C ์ปดํŒŒ์ผ๋Ÿฌ\] B --\> E\[GNU ์ปดํŒŒ์ผ๋Ÿฌ ์ปฌ๋ ‰์…˜\] C --\> F\[LLVM ๊ธฐ๋ฐ˜ ์ปดํŒŒ์ผ๋Ÿฌ\] ### ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜ | ๋งค๊ฐœ๋ณ€์ˆ˜ | ์„ค๋ช… | ์˜ˆ์‹œ | |---|---|---| | `-std` | C ์–ธ์–ด ํ‘œ์ค€ ์ง€์ • | `-std=c17` | | `-O` | ์ตœ์ ํ™” ์ˆ˜์ค€ | `-O2`, `-O3` | | `-Wall` | ๋ชจ๋“  ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” | `-Wall -Wextra` | | `-g` | ๋””๋ฒ„๊น… ์ •๋ณด ์ƒ์„ฑ | `-g` | ### Ubuntu ์—์„œ GCC ์„ค์น˜ ``` sudo apt update sudo apt install build-essential gcc --version ``` ### ์ปดํŒŒ์ผ๋Ÿฌ ํ”Œ๋ž˜๊ทธ ๋ฐ ์˜ต์…˜ #### ํ‘œ์ค€ ์„ ํƒ ``` ## ํŠน์ • C ํ‘œ์ค€์œผ๋กœ ์ปดํŒŒ์ผ gcc -std=c11 program.c -o program gcc -std=c17 program.c -o program ``` #### ์ตœ์ ํ™” ์ˆ˜์ค€ ``` ## ์„œ๋กœ ๋‹ค๋ฅธ ์ตœ์ ํ™” ์ˆ˜์ค€ gcc -O0 program.c ## ์ตœ์ ํ™” ์—†์Œ gcc -O2 program.c ## ๊ถŒ์žฅ ์ตœ์ ํ™” gcc -O3 program.c ## ๊ณต๊ฒฉ์ ์ธ ์ตœ์ ํ™” ``` ### ๊ณ ๊ธ‰ ๊ตฌ์„ฑ #### ๊ฒฝ๊ณ  ๊ด€๋ฆฌ ``` // example.c #include <stdio.h> int main() { int x; // ์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๋ณ€์ˆ˜ ๊ฒฝ๊ณ  printf("%d", x); return 0; } ``` ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜ ์ปดํŒŒ์ผ: ``` gcc -Wall -Wextra -Werror example.c ``` ### ์ „์ฒ˜๋ฆฌ๊ธฐ ์ง€์‹œ๋ฌธ ``` #define DEBUG_MODE 1 #ifdef DEBUG_MODE printf("๋””๋ฒ„๊ทธ ์ •๋ณด\n"); #endif ``` ### ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์ปดํŒŒ์ผ ``` ## 64๋น„ํŠธ ์‹œ์Šคํ…œ์—์„œ 32๋น„ํŠธ ์ปดํŒŒ์ผ gcc -m32 program.c -o program ``` ### ๊ถŒ์žฅ ์‚ฌํ•ญ 1. ํ•ญ์ƒ `-Wall -Wextra` ์‚ฌ์šฉ 2. ์ ์ ˆํ•œ ์ตœ์ ํ™” ์ˆ˜์ค€ ์„ ํƒ 3. ์˜ฌ๋ฐ”๋ฅธ C ํ‘œ์ค€ ์„ ํƒ 4. ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ ํ™œ์„ฑํ™” ### LabEx ๊ถŒ์žฅ ์‚ฌํ•ญ LabEx ํ™˜๊ฒฝ์—์„œ ์ž‘์—…ํ•  ๋•Œ๋Š” ์ฝ”๋“œ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ํ•ญ์ƒ ์ตœ์‹  ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ### ๊ฒฐ๋ก  ํšจ๊ณผ์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ์€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ C ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ## ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ### ์ปดํŒŒ์ผ ์›Œํฌํ”Œ๋กœ์šฐ graph TD A\[์†Œ์Šค ์ฝ”๋“œ\] --\> B\[์ „์ฒ˜๋ฆฌ๊ธฐ\] B --\> C\[์ปดํŒŒ์ผ๋Ÿฌ\] C --\> D\[์–ด์…ˆ๋ธ”๋Ÿฌ\] D --\> E\[๋ง์ปค\] E --\> F\[์‹คํ–‰ ํŒŒ์ผ\] ### ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„ #### ๋งคํฌ๋กœ ํ™•์žฅ ``` #define MAX_SIZE 100 #define SQUARE(x) ((x) * (x)) int main() { int array[MAX_SIZE]; int result = SQUARE(5); return 0; } ``` ์ „์ฒ˜๋ฆฌ ๋ช…๋ น์–ด: ``` gcc -E program.c > preprocessed.c ``` ### ์ปดํŒŒ์ผ ๋‹จ๊ณ„ | ๋‹จ๊ณ„ | ์„ค๋ช… | ๋„๊ตฌ | |---|---|---| | ์ „์ฒ˜๋ฆฌ | ๋งคํฌ๋กœ ํ™•์žฅ, ํŒŒ์ผ ํฌํ•จ | cpp | | ์ปดํŒŒ์ผ | ์–ด์…ˆ๋ธ”๋ฆฌ ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ | gcc | | ์–ด์…ˆ๋ธ”๋ฆฌ | ๊ฐ์ฒด ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ | as | | ๋งํ‚น | ์‹คํ–‰ ํŒŒ์ผ ์ƒ์„ฑ | ld | ### ๊ณ ๊ธ‰ ์ปดํŒŒ์ผ ๊ธฐ๋ฒ• #### ๋ถ„๋ฆฌ ์ปดํŒŒ์ผ ##### header.h ``` #ifndef HEADER_H #define HEADER_H int calculate(int a, int b); #endif ``` ##### math.c ``` #include "header.h" int calculate(int a, int b) { return a + b; } ``` ##### main.c ``` #include <stdio.h> #include "header.h" int main() { int result = calculate(5, 3); printf("Result: %d\n", result); return 0; } ``` ์ปดํŒŒ์ผ ๊ณผ์ •: ``` gcc -c math.c ## ๊ฐ์ฒด ํŒŒ์ผ ์ƒ์„ฑ gcc -c main.c ## ๊ฐ์ฒด ํŒŒ์ผ ์ƒ์„ฑ gcc math.o main.o -o program ## ๊ฐ์ฒด ํŒŒ์ผ ๋งํ‚น ``` ### ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ํ”Œ๋ž˜๊ทธ #### ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊น… ``` ## ์ตœ์ ํ™” ๋ฐ ๋””๋ฒ„๊ทธ ์‹ฌ๋ณผ๊ณผ ํ•จ๊ป˜ ์ปดํŒŒ์ผ gcc -O2 -g program.c -o program ## ๋ชจ๋“  ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” gcc -Wall -Wextra -Werror program.c -o program ``` ### ์ •์  ๋ฐ ๋™์  ๋งํ‚น graph TD A\[์ •์  ๋งํ‚น\] --\> B\[์ „์ฒด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ณต์‚ฌ\] A --\> C\[๋” ํฐ ์‹คํ–‰ ํŒŒ์ผ\] D\[๋™์  ๋งํ‚น\] --\> E\[๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ฐธ์กฐ\] D --\> F\[๋” ์ž‘์€ ์‹คํ–‰ ํŒŒ์ผ\] #### ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ``` ## ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ gcc -c library.c ar rcs libmylib.a library.o ## ์ •์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งํ‚น gcc main.c -L. -lmylib -o program ``` #### ๋™์  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ``` ## ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ƒ์„ฑ gcc -shared -fPIC library.c -o libmylib.so ## ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋งํ‚น gcc main.c -L. -lmylib -o program ``` ### ํฌ๋กœ์Šค ์ปดํŒŒ์ผ ``` ## ARM์šฉ ํฌ๋กœ์Šค ์ปดํŒŒ์ผ arm-linux-gnueabihf-gcc program.c -o program_arm ``` ### LabEx ์ตœ์  ์‚ฌ๋ก€ 1. ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ๋Ÿฌ ํ‘œ์ค€ ์‚ฌ์šฉ 2. ํฌ๊ด„์ ์ธ ๊ฒฝ๊ณ  ํ™œ์„ฑํ™” 3. ์ตœ์ ํ™” ํ”Œ๋ž˜๊ทธ ํ™œ์šฉ 4. ๋ถ„๋ฆฌ ์ปดํŒŒ์ผ ๊ตฌํ˜„ 5. ๋งํ‚น ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ดํ•ด ### ๊ฒฐ๋ก  ํ˜„๋Œ€์ ์ธ ์ปดํŒŒ์ผ ๊ธฐ๋ฒ•์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ ๋ฐ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ด๊ณ  ์ด์‹ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๊ฐ•๋ ฅํ•œ C ํ”„๋กœ๊ทธ๋žจ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ## ์š”์•ฝ ํ˜„๋Œ€์ ์ธ 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)[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค](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/cpp)[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)[Alibaba Cloud](https://labex.io/ko/tutorials/category/alibaba)[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/c) [![์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto/https://course-cover.labex.io/c-programming-for-beginners.png?lang=ko) ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ C ํ”„๋กœ๊ทธ๋ž˜๋ฐ C ์ดˆ๊ธ‰](https://labex.io/ko/courses/c-programming-for-beginners) [![C ์–ธ์–ด๋กœ ํ”Œ๋ž˜ํ”ผ ๋ฒ„๋“œ ๋งŒ๋“ค๊ธฐ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto/https://course-cover.labex.io/project-building-flappy-bird-using-c.png?lang=ko) C ์–ธ์–ด๋กœ ํ”Œ๋ž˜ํ”ผ ๋ฒ„๋“œ ๋งŒ๋“ค๊ธฐ ShellC ์ดˆ๊ธ‰](https://labex.io/ko/courses/project-building-flappy-bird-using-c) [![C ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ](https://labex.io/cdn-cgi/image/width=1130,height=582,quality=85,format=auto/https://course-cover.labex.io/project-making-a-simple-calculator-using-c.png?lang=ko) C ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ๋งŒ๋“ค๊ธฐ C ์ดˆ๊ธ‰](https://labex.io/ko/courses/project-making-a-simple-calculator-using-c) [![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/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/kubernetes-online-kubernetes-cluster-593609) [์ž๋ฐ” ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ](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) [์˜จ๋ผ์ธ ๊ฐ€์ƒ ๋จธ์‹ ](https://labex.io/ko/tutorials/linux-online-virtual-machines-and-playgrounds-593595) ํŠœํ† ๋ฆฌ์–ผ [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 Markdownnull
Shard28 (laksa)
Root Hash1963243295958744828
Unparsed URLio,labex!/ko/tutorials/c-how-to-compile-with-modern-c-standards-466271 s443