์ „์ฒ˜๋ฆฌ๊ธฐ (Precompiler)

2020. 1. 5. 15:49ยท ๐Ÿ’ฌ Language/C
  • ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ปดํŒŒ์ผ ํ•˜๊ธฐ์ „ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
  • ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” <>๋กœ ๊ฐ์‹ผ๋‹ค.
    • #include <~.h> โ†’ ๊ฒ€์ƒ‰ ๋Œ€์ƒ
  • ๋น„ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” โ€œโ€๋กœ ๊ฐ์‹ผ๋‹ค.
    • #include โ€œ~.hโ€ โ†’ ํ˜„์žฌ ํด๋”
    • ํฐ๋”ฐ์˜ดํ‘œ ๋‚ด๋ถ€์— ์ ˆ๋Œ€๊ฒฝ๋กœ ํ˜น์€ ์ƒ๋Œ€๊ฒฝ๋กœ๋กœ ํ‘œ์‹œํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.
    • ์ƒ๋Œ€๊ฒฝ๋กœ์˜ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ์— ๋“ฑ๋ก๋œ ๊ฒฝ๋กœ์—์„œ ์ฐพ๋Š”๋‹ค.

Visual Studio์—์„œ ์ƒ๋Œ€๊ฒฝ๋กœ ์ง€์ • ํ•ญ๋ชฉ

์ „์ฒ˜๋ฆฌ๋ฌธ ์ข…๋ฅ˜

#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)
  • ํŠน์ • ๊ฒฝ๊ณ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌด์‚ฌํ•˜๋Š” ๋ช…๋ น์–ด

 

 

_์ฃผ๋…ธ
_์ฃผ๋…ธ
juno.log_์ฃผ๋…ธ ๋‹˜์˜ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
_์ฃผ๋…ธ
juno.log
_์ฃผ๋…ธ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (88)
    • ๐Ÿ’ฌ Language (15)
      • C (1)
      • C++ (1)
      • Java (12)
    • ๐Ÿ–ฅ๏ธ Computer (46)
      • Data Structure (2)
      • Computer Science (3)
      • Algorithm Solution (41)
    • ๐ŸŒฑ Spring (14)
    • ๐Ÿ“ฆ Database (1)
    • ๐Ÿฅณ Project (6)
      • kakao chatbot (6)
    • ๐Ÿ˜† Daily (5)
      • ์žก๋‹ด (5)
      • TIL (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌ
  • GitHub
  • Velog

์ธ๊ธฐ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.0
_์ฃผ๋…ธ
์ „์ฒ˜๋ฆฌ๊ธฐ (Precompiler)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.