๐ฉโ๐ปTIL2. CS : C๊ธฐ์ด
๋ถ์คํธ์ฝ์ค "๋ชจ๋๋ฅผ ์ํ ์ปดํจํฐ ๊ณผํ-1) C๊ธฐ์ด"๋ฅผ ์๊ฐํ๊ณ ๋ฐฐ์ด ์ ์ ์ ๋ฆฌํด๋ณด์๋ค.
์ ๋ง ๋ง์ด ๋ค์ด๋ณธ, C์ธ์ด ๋๋์ด ์์ํฉ๋๋ค๐ฉโ๐ป๐
์ด์ ๊ฐ์์์ scratch๋ก ์คํํ๋ "hello,world"๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์๋ค.
1. ์์ค์ฝ๋ ์์ฑ
- ํ์ผํ์ฅ์๋ c๋ก ์ ์ฅ
C์ฝ๋ ํ์ผ์ ์ ์ฅํ ๋๋ ํ์ผ๋ช ์ "ํ์ผ๋ช .c"๋ก ํ์ฅ์๋ฅผ ์ง์ ๋ถ์ฌ์ฃผ์ด์ผํ๋ค.
#include <stdio.h>
"stdio.h"๋ผ๋ ์ด๋ฆ์ ํ์ผ์ ์ฐพ์์ ํจ์์ ์ ๊ทผํ ์ ์๋๋ก ํด์ค๋ค.
int main(void){
}
"์์ํ๋ค"๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋ค๊ณ ๋ณด๋ฉด๋๋ค. ์ค๊ดํธ ์์ ์คํํ ์ฝ๋๋ฅผ ์์ฑํด์ค๋ค.
printf("hello,world");
printf๋ ์ถ๋ ฅํจ์์ด๋ค. ๊ดํธ์์ ๋ด์ฉ์ ์ถ๋ ฅํด์ค๋ค. ๋จ์ด๋ ๋ฌธ์ฅ์ ์ ์๋๋ ์๋ฐ์ดํ๋ก ๊ฐ์ธ์ฃผ์ด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ;(์ธ๋ฏธ์ฝ๋ก )์ผ๋ก ์ฝ๋๋ฅผ ๋ซ์์ค๋ค.
์ด๋ ๊ฒ ์์ฑํ ์ฝ๋๋ฅผ ์ปดํจํฐ๋ ์ดํดํ์ง ๋ชปํ๋ค. ์ปดํจํฐ๋ 0๊ณผ 1๋ง ์ดํดํ๊ธฐ ๋๋ฌธ! ๊ทธ๋์ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ์์ฑํ ์ฝ๋๋ฅผ 0๊ณผ 1๋ก ๋ฒ์ญํด์ฃผ๋ ์ค๊ฐ๊ณผ์ ์ด ํ์ํ๋ค. ์ด๋ฐ ์์ ์ compiler๋ผ๋ ํ๋ก๊ทธ๋จ์ด ์ํํด์ค๋ค. ์ง์ ์์ฑํ ์ฝ๋๋ "์์ค์ฝ๋", 2์ง๋ฒ์ผ๋ก ๋ฒ์ญ๋ ์ฝ๋๋ "๋จธ์ ์ฝ๋"๋ผ๊ณ ํ๋ค.
2. Terminal์ฐฝ๊ณผ ๋ช ๋ น ํ๋กฌํฌํธ
html, css์ ๋ฌ๋ฆฌ C์์๋ ํฐ๋ฏธ๋๊ณผ ํ๋กฌํํธ๋ผ๋ ๊ฐ๋
์ด ๋ฑ์ฅํ๋ค...๋๋ฌด๋ ์์ํ ๊ฐ๋
์ด์ด์ ์๋ ๋ธ๋ก๊ทธ์ ์ค๋ช
์์ฐธ๊ณ ํ์๋ค.
https://medium.com/@psychet_learn/cli-cli-%EA%B8%B0%EB%B3%B8-%EA%B0%9C%EB%85%90-%EB%B0%8F-%EC%82%AC%EC%9A%A9%EB%B2%95-c8d000ebc162
์ฐ์ ๋ช ๋ น์ค ์ธํฐํ์ด์ค(CLI,Command Line Interface) ๋๋ ๋ช ๋ น์ด ์ธํฐํ์ด์ค๋ ํ ์คํธ ํฐ๋ฏธ๋์ ํตํด ์ฌ์ฉ์์ ์ปดํจํฐ๊ฐ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ๋ปํ๋ค. ์ฆ, ์์ ๋ช ๋ น์ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ ํค๋ณด๋ ๋ฑ์ ํตํด ๋ฌธ์์ด์ ํํ๋ก ์ ๋ ฅํ๋ฉฐ, ์ปดํจํฐ๋ก๋ถํฐ์ ์ถ๋ ฅ ์ญ์ ๋ฌธ์์ด์ ํํ๋ก ์ฃผ์ด์ง๋ค. ( - ์ํค๋ฐฑ๊ณผ - )
Terminal์ ์ด๋ฌํ ์ ์ถ๋ ฅ์ ๊ฐ๋ฅํ๊ฒํ๋ ์ํํธ์จ์ด๋ ํ๋์จ์ด๋ฅผ ์นญํ๋ค. ๊ทธ๋ฆฌ๊ณ $ํ์๋ก ์ฌ์ฉ์์ ๋ช ๋ น์ ๊ธฐ๋ค๋ฆฌ๋ ๋ช ๋ น ํ๋กฌํํธ๊ฐ ์กด์ฌํ๋ค. ๋ช ๋ น ํ๋กฌํํธ ๋ค์ ์คํํ ๋ช ๋ น์ด๋ฅผ ์์ฑํ๊ณ ์ํฐ๋ฅผ ์น๋ฉด ๋๋ค.
3.ํฐ๋ฏธ๋์ฐฝ์ ๋ช ๋ น์ด ์์ฑ
$ clang hello.c
clang์ ์ฝ๋ ์ปดํ์ผ๋ฌ๋ก, "hello.c"ํ์ผ์ ๋จธ์ ์ฝ๋๋ก ๋ฒ์ญํด์ค๋ ๋ช ๋ น์ด. ์คํํ๋ฉด "a.out"์ด๋ผ๋ ๋จธ์ ์ฝ๋ํ์ผ์ด ์์ฑ๋จ
./a.out
"./a.out" ์ปดํจํฐ๊ฐ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์๋ a.out์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ ์คํํ๋ ๋ช ๋ น์ด. enter๋ฅผ ์น๋ฉด "hello,world"๊ฐ ์ถ๋ ฅ๋๋ค!!!
$ clang -o hello hello.c
๋ช
๋ นํ ์ธ์๋ฅผ ์ถ๊ฐํ๋ฉด ๋จธ์ ์ฝ๋๋ฅผ ๋ค๋ฅธ ํ์ผ๋ช
์ผ๋ก ์ถ๋ ฅํ ์ ์๋ค. -o ๋ค์ ์ ํ์ผ๋ช
์ ์์ฑํด์ฃผ๋ฉด ๋๋ค.
ls๋ช
๋ น์ด๋ list๋ผ๋ ์๋ฏธ๋ก, ํ์ฌ ํด๋๋ ๋๋ ํ ๋ฆฌ์ ์๋ ํ์ผ์ ๋ฆฌ์คํธ๋ฅผ ๋ณด์ฌ์ค๋ค. rm๋ช
๋ น์ด๋ ํ์ผ์ ์ญ์ __ํ๋ค. ํ์ผ๋ช
์ค๋ฅธ์ชฝ์ *ํ์๋ ์คํ๊ฐ๋ฅํ ๋จธ์ ์ฝ๋ ํ์ผ์๋ง ๋ํ๋๋ค.
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ฉโ๐ปTIL2. CS : C๊ธฐ์ด), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@yeahg_dev/TIL2.-CS-C๊ธฐ์ด์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค