-
-
preprocessing : clang์ด๋ make ๋ช ๋ น์ด ๋ฅผ ํตํด ์์ค ์ฝ๋๋ฅผ ์คํํ๊ฒ ๋๋ฉด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค(ํค๋ํ์ผ)์ ์ค์ ์ฝ๋๋ก ๋์ฒด๋จ. ํด๋น๋๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์์ค ์ฝ๋์ ๋ถ์ฌ๋ฃ๋ ๊ฒ.
-
compiling : ์์ค ์ฝ๋๋ฅผ ์ด์ ๋ธ๋ฆฌ ์ฝ๋ (์ค๊ฐ ์ฝ๋)๋ก ๋ฐ๊พธ๋ ๋จ๊ณ.
-
assembling : ์ด์ ๋ธ๋ฆฌ ์ฝ๋๋ฅผ 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋จธ์ ์ฝ๋๋ก ๋ฐ๊พธ์ด์ค.
-
linking : 0๊ณผ 1๋ก ์ด๋ฃจ์ด์ง ๋จธ์ ์ฝ๋๋ค์ ํ๋์ ํ์ผ๋ก ํฉ์นจ.
Compiling Process
-
-
CS50 ์๋๋ฐ์ค ๋๊ตฌ๋ค
- help50
- printf
- debug50
- check50
- style 50
-
control + l == ํฐ๋ฏธ๋์ ๋ช ๋ น์ด clear
-
๋๋ฒ๊ทธ ๊ธฐ๋ฅ ์ฌ์ฉํ๊ธฐ!!!
-
๋๋ฒ๊น ํ๋ก๊ทธ๋จ์ด ์๋ค๋ฉด? ์ฝ๋๋ฅผ ์งค ๋ ๊ฐ๋ ์ฑ์๊ฒ ์ง๊ณ ํด๋น ํจ์๊ฐ ์ด๋ค ๊ธฐ๋ฅ์ ํ๋์ง ์ฃผ์์ ์ ๋ฌ๊ณ ๋ณ์๋ช ์ ์ง๊ด์ ์ผ๋ก ์ง๋๊ฒ ๋์์ด ๋๋ค
-
char ์ธ ๋ '', string ์ธ ๋ "" ๊ถ์ฅ
-
ํ๋ณํ casting
-
const ์ ์ธ ์ปจ๋ฒค์ : ์ฝ๋ ์์, ๋ณ์ ๋ช ์ ๋๋ฌธ์๋ก ์ ์ธ
-
ํจ์ ํ๋กํ ํ์ !!! ๋ฉ์ธ ํจ์ ์ ์ ์ ์ธํด์ฃผ๋๊ฑฐ ์์ง ๋ง์
-
int / int = int, float / float = float
-
%1f %2f
-
C๋ ๋ค๋ฅธ ์ธ์ด(Java, Python ๋ฑ)๊ณผ ๊ฐ์ด length๋ฅผ ์์ฒด์ ์ผ๋ก ๊ธฐ์ตํ์ง ๋ชปํจ. ์์๋ก ๋ฐฐ์ ํด์ค์ผ ํจ.
-
string์ ๊ธ์ ์์ ๋ฐ๋ผ ํฌ๊ธฐ๊ฐ ๋ฌ๋ฆฌ์ง๊ธฐ ๋๋ฌธ์ ์ ํด์ง ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์ ์์.
-
\0 : null(8๋นํธ๊ฐ ๋ชจ๋ 0์ธ ์ํ) ํน์ null ์ข ๋จ๋ฌธ์
-
1๋ฐ์ดํธ๋ฅผ ๋ชจ๋ 0์ผ๋ก ์ฑ์ ๋ญ๋น(๋์ ๋ํ๋)
-
ex) ๊ธธ์ด๊ฐ 3์ธ ๋ฌธ์์ด HI! ๋ฅผ ๋ํ๋ด๊ธฐ ์ํด์ ๋์ข ๋จ๋ฌธ์๋ฅผ ํฌํจํ์ฌ 4๋ฐ์ดํธ ํ์.
-
s[0] = H, s[1] = I, s[2] = !, s[3] = \0
-
for๋ฌธ์์ string์ด ๋๋ฌ๋์ง ํ์ธํ๋ ์กฐ๊ฑด๋ฌธ
-
- ๊ธธ์ด(strlen(s)) strlen ํจ์์ ํ๋กํ ํ์ ์ <string.h> ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌํจ๋์ด์์.
- ๋ง์ง๋ง ๊ฐ(s[๋ง์ง๋ง ์์น] ≠ '\0')
-
-
์ง๋ฌธ์ ์ต๋ํ ์ค์ด๋ ๋ฐฉํฅ(์๊ฐ ๋ณต์ก๋ ์ค์ด๊ธฐ ์ํด)์ผ๋ก ๋ณ์ ์์ฑ.
์ด ๊ฒฝ์ฐ์๋ n
-
uppercase
๋ฐฉ๋ฒ 1) ๋ฌธ์ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ด์ฉํ์ฌ ๋บ์ ์ฐ์ฐ
if ์๋ฌธ์๋ฉด? ์๋ฌธ์ ๊ฐ - 32(์๋ฌธ์ ๊ฐ๊ณผ ๋๋ฌธ์ ๊ฐ์ ์ฐจ์ด)
๋ฐฉ๋ฒ 2) ํจ์ ์ด์ฉ
-
๋ช ๋ นํ ์ธ์ : ์คํํ๊ณ ์ ํ๋ ํ๋ก๊ทธ๋จ ๋ค์ ์ ์ด ํ๋ก๊ทธ๋จ ์ ๋ ฅ๊ณผ ๊ฐ์ด ๋ฃ์ด์ฃผ๋ ์ธ์
argc๋ argument count๋ผ๋ ์๋ฏธ๋ก ์ธ์๋ค์ ๊ฐ์, argv ๋ argument vector๋ ์๋ฏธ๋ก ๊ด์ต์ ์ธ ํํ.
-
C์ main์ 0(๋ฌธ์ ์์)์ ๋ฐํ.
-
๋ฌธ์ ์๋ ๊ฒฝ์ฐ return 1;
-
๋จ์ด ํ๋๋ฅผ ์ ๋ ฅํ์ ๋ argc๊ฐ 2์ธ ์ด์ !
- argv[0] ์ ์ฒ์์ ์ ๋ ฅํ๋ ํ๋ก๊ทธ๋จ ์ด๋ฆ
- argv[1] ์ ๊ทธ ๋ค์์ ์ ๋ คํ ๋จ์ด ์ด๋ฆ
- prog.c ๋ผ๋ ์์ค์ฝ๋ ๋ง๋ ํ ์ปดํ์ผ์ ./prog hello world๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ argc๋ 3์ด๊ณ , argv[0] = prog, argv[1] = hello, argv[2] = world
-
์ด์ฒ๋ผ ๋ช ๋ น์ธ์๋ฅผ ์ฐ๋ฉด ํ๋ก๊ทธ๋จ์ ํ์ฅ์ฑ์ด ์ฆ๊ฐํ๋ค. ํ์ํ์ง ์์ ํจ์๊น์ง ์ผ์ผ์ด ํธ์ถํ์ง ์์๋ ๋๊ณ , ์ธํฐํ์ด์ค ์ฐจ์์์๋ ํจ์จ์ ์ด๋ค.
'๐ > Journal' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ํ ๊ฐ๋ฐ์ ๋ฌธ์ ์ฝ๊ธฐ (1) | 2021.06.10 |
---|---|
๋์ ์ด์ธ๋ฆฌ๋ ๊ฐ๋ฐ์ ์ ํ ์ฐพ๊ธฐ (0) | 2021.06.04 |
W4 note (0) | 2021.02.14 |
W2 note (0) | 2021.02.14 |
W1 note (0) | 2021.02.14 |
๋๊ธ