- ์ปดํ์ผ๋ฌ๊ฐ ์ปดํ์ผ ํ๊ธฐ์ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด๋ค.
- ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ <>๋ก ๊ฐ์ผ๋ค.
- #include <~.h> → ๊ฒ์ ๋์
- ๋นํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ “”๋ก ๊ฐ์ผ๋ค.
- #include “~.h” → ํ์ฌ ํด๋
- ํฐ๋ฐ์ดํ ๋ด๋ถ์ ์ ๋๊ฒฝ๋ก ํน์ ์๋๊ฒฝ๋ก๋ก ํ์ํด ์ค ์ ์๋ค.
- ์๋๊ฒฝ๋ก์ ๊ฒฝ์ฐ ์์คํ ์ ๋ฑ๋ก๋ ๊ฒฝ๋ก์์ ์ฐพ๋๋ค.
์ ์ฒ๋ฆฌ๋ฌธ ์ข ๋ฅ
#include
- ํ์ผ ์ฒ๋ฆฌ๋ฅผ ์ํ ์ ์ฒ๋ฆฌ๋ฌธ
- ๋ฏธ๋ฆฌ ์ ์๋์ด์๋ ํ์ผ์ Loadํ๋ค. (๋งคํฌ๋ก๊ฐ์ด ์นํ ๊ฐ๋ ์ด ์๋)
#define
- ์์๊ฐ์ ์ง์ ํ๊ธฐ ์ํ ์์ฝ์ด (๋งคํฌ๋ก → ์นํ์ ๊ฐ๋ )
- ํจ์์ฒ๋ผ ์ ์ธํ ์ ์์ง๋ง ํจ์๊ฐ ์๋๊ธฐ๋๋ฌธ์ ํจ์์ฒ๋ผ ์ค๋ฒํค๋๊ฐ ์ผ์ด๋์ง ์๋๋ค.
#undef
- #define์ผ๋ก ์ ์๋ ๋งคํฌ๋ก๋ฅผ ๋ฌดํจํํ๋ค.
#if / #endif
- ์กฐ๊ฑด๋ฌธ๊ณผ ๋์ ์๋ฆฌ๋ ๊ฐ๋ค.
#define somthing
#ifdef somthing
#define something_else 10
#elif something1
#define ssomething_else 20
#endif
- if define somthing~ ์ ์๋ฏธ๋ก ์ด ์ญ์ ์กฐ๊ฑด๋ฌธ๊ณผ ๋์์๋ฆฌ๋ ๊ฐ๋ค.
- #elif ๋ else if ์ ์ ์ฌ
- ifndef๋ ifdef์๋ ์ ๋ฐ๋๋ก ์ ์๋์ด์์ง ์์ผ๋ฉด ๋ฐ์ํ๋ ์ ์ฒ๋ฆฌ๊ธฐ๋ค.
#error
- ์์ค๋ผ์ธ์ ์ง์ ์๋ฌ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ค.
- ์ ์ฒ๋ฆฌ๊ธฐ๊ฐ #error๋ฌธ์ ๋ง๋๋ฉด ์ปดํ์ผ์ ์ค๋จํ๊ณ ์๋ฌ๋ฉ์์ง๋ฅผ ์ถ๋ ฅํ๋ค.
- ERROR : XXXXX.c ########: Error directive: ๋ด์ฉ
- XXXXX.c → ํ์ฌ ์ปดํ์ผ ์ค์ธ ํ์ผ๋ช #error
- ####### → ์ ์ฒ๋ฆฌ๊ธฐ๊ฐ #error ๋ฌธ์ ๋ง๋ ์์ ์์์ ํ ๋ฒํธ(ํค๋ ํฌํจ)
#line
- ์์ค์ฝ๋์ ํ๋ฒํธ๋ฅผ ์ง์ ํ๋ค.
- ์ปดํ์ผ๋ฌ์ ์ํด ๋ฏธ๋ฆฌ ์ ์๋ __LINE__๊ณผ ํจ๊ป ์ฌ์ฉ๋๋ค.
#pragma once
- ํด๋น ํค๋ ํ์ผ์ด ํ๋ฒ๋ง ๋น๋๋๋๋ก ํ๋ค.
- 2๊ฐ ์ด์์ ํค๋ํ์ผ์ include ํ ๋ ํ๋ฒ๋ง ๋๋๋ก ํ๋ค.
#pragma comment(lib, "*lib")
- ํด๋น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋งํฌ์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ํ๋ค.
#pragma warning(disable:4716)
- ํน์ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ฌด์ฌํ๋ ๋ช ๋ น์ด