๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
6. CS ๊ธฐ์ดˆ ๐Ÿ“š/Linux & Unix ๐Ÿง

[Linux/Unix] CํŒŒ์ผ ์‹คํ–‰

by lxvxxu 2025. 10. 21.

c ํŒŒ์ผ์€ ์‹คํ–‰ ์–ด๋–ป๊ฒŒ ํ•ด?

ChatGPT์˜ ๋ง:

์ข‹์•„ ๐Ÿ‘จ‍๐Ÿ’ป
์ด๋ฒˆ์—” C ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์ •๋ฆฌํ•ด์ค„๊ฒŒ!


๐Ÿงฉ 1๏ธโƒฃ C ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ

vi๋กœ ์ƒˆ ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด๋ณด์ž:

vi hello.c

์ž…๋ ฅ ๋ชจ๋“œ(i)๋กœ ๋“ค์–ด๊ฐ€์„œ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ์จ๋ณด์ž ๐Ÿ‘‡

#include <stdio.h>

 

int main(void) {

    printf("Hello, world!\n");

    return 0;

}

Esc → :wq → Enter ๋กœ ์ €์žฅ ํ›„ ๋‚˜์™€.


โš™๏ธ 2๏ธโƒฃ ์ปดํŒŒ์ผํ•˜๊ธฐ (gcc ์‚ฌ์šฉ)

๋ฆฌ๋ˆ…์Šค/Ubuntu์—์„œ๋Š” gcc (GNU Compiler Collection)๋ฅผ ์ด์šฉํ•ด ์ปดํŒŒ์ผํ•ด.

gcc hello.c -o hello

  • hello.c → ์†Œ์Šค ํŒŒ์ผ ์ด๋ฆ„
  • -o hello → ์ถœ๋ ฅ ์‹คํ–‰ ํŒŒ์ผ ์ด๋ฆ„(hello)์„ ์ง€์ •

๐Ÿ’ก -o๋ฅผ ์•ˆ ์“ฐ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ a.out ํŒŒ์ผ์ด ์ƒ๊ฒจ.


๐Ÿš€ 3๏ธโƒฃ ์‹คํ–‰ํ•˜๊ธฐ

์ปดํŒŒ์ผ์ด ์„ฑ๊ณตํ•˜๋ฉด ์‹คํ–‰ ํŒŒ์ผ(hello)์ด ๋งŒ๋“ค์–ด์ ธ.
์‹คํ–‰์€ ์ด๋ ‡๊ฒŒ ํ•ด ๐Ÿ‘‡

./hello

์ถœ๋ ฅ:

Hello, world!


โšก 4๏ธโƒฃ ์ž์ฃผ ์“ฐ๋Š” ์ปดํŒŒ์ผ ์˜ต์…˜

์˜ต์…˜ ์˜๋ฏธ
-Wall ๋ชจ๋“  ์ผ๋ฐ˜์ ์ธ ๊ฒฝ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œ
-Wextra ์ถ”๊ฐ€ ๊ฒฝ๊ณ  ํ‘œ์‹œ
-O2 ์ตœ์ ํ™”(์„ฑ๋Šฅ ํ–ฅ์ƒ) ์˜ต์…˜
-g ๋””๋ฒ„๊น… ์ •๋ณด ํฌํ•จ (gdb์—์„œ ์‚ฌ์šฉ)

์˜ˆ์‹œ ๐Ÿ‘‡

gcc hello.c -o hello -Wall -Wextra -O2


๐Ÿง  5๏ธโƒฃ ์ฐธ๊ณ : ์—ฌ๋Ÿฌ ํŒŒ์ผ ์ปดํŒŒ์ผ ์‹œ

ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๋•Œ๋Š” ์ด๋ ‡๊ฒŒ ๐Ÿ‘‡

gcc main.c util.c -o program

ํ˜น์€ ๊ฐœ๋ณ„๋กœ ์ปดํŒŒ์ผ ํ›„ ๋งํฌํ•˜๊ธฐ๋„ ๊ฐ€๋Šฅ:

gcc -c main.c

gcc -c util.c

gcc main.o util.o -o program


 

'6. CS ๊ธฐ์ดˆ ๐Ÿ“š > Linux & Unix ๐Ÿง' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Linux/Unix][8-2]  (1) 2025.11.11
[Linux/Unix] ๋‹จ์ถ•ํ‚ค  (0) 2025.10.21
[Linux/Unix] shํŒŒ์ผ ์‹คํ–‰  (0) 2025.10.21
[Linux/Unix][7-2] date ์ถœ๋ ฅ  (0) 2025.10.21
[Linux/Unix][7-1] sysocnf(3) ํ•จ์ˆ˜ ํ™œ์šฉ  (0) 2025.10.21