일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- decimal
- algorithm
- 단항연산자
- compile time constants
- regression problem
- 형변환
- #define
- standford University
- C++
- 기계학습
- 코드블럭 오류
- coursera
- 홍정모님
- classification problem
- Greedy
- 연산자
- #endif
- Andrew Ng
- sizeof()
- 프로그래밍
- Runtime constants
- 본즈앤올
- CLion
- 이코테
- 기계학습 기초
- const
- 코딩테스트
- 학습 알고리즘
- Machine Learning
- 나동빈님
- Today
- Total
wellcome_공부일기
CLion | 헤더가드(Header Guard)란? 본문
<목차>
1. 헤더가드(Header Guard)란?
2. 헤더가드(Header Guard)가 필요한 이유
2. CLion에서 헤더가드(Header Guard) 사용법
헤더가드(Header Guard)란?
헤더가드는 헤더 파일내의 작은 코드로, 한번 이상 헤더 파일의 내용이 포함되지 않도록 이를 방지하는 역할을 합니다.
헤더가드는 전처리기의 사용을 통해 실행이 되어집니다. C/C++ 전처리기는 모두 #이라는 문자로 시작을 합니다.
ex) #include, #define -http://faculty.cs.niu.edu
헤더가드(Header Guard)가 필요한 이유
팀 프로젝트가 시작되고 프로그램이 복잡해지면 헤더파일(Header File)을 파일 내에 많이 추가하면서 중복으로 올릴 수 가 있습니다. 예를 들어 2번째 줄에서 주석을 처리한 add함수가 원래 존재했다면, doSomething함수 파일에도 add함수가 추가되어 있어, main함수 파일에는 add함수가 총 2번이 선언되고, 이는 중복임으로 오류가 발생할 수 있습니다.
CLion에서 헤더가드(Header Guard) 사용법
CLion에서 헤더가드(Header Guard)는 헤더파일(Header File)을 만들 때 자동으로 생성됩니다.
아래 사진과 같이 #ifndef 와 #define 그리고 #endif가 있습니다.
헤더파일(Header File) 내의 코드는 #ifndef 와 #define 사이에 작성을 해주고, 작성이 끝났을 땐 #endif가 있어야 합니다.
#ifndef : if not definite 만약 정의되지 않았다면
#define : define 정의하라
----------------------------------------------------------
#endif : 끝
헤더가드(Header Guard)가 있다면 헤더파일 내 내용이 중복으로 선언되었더라도 오류가 일어나지 않습니다.
Visual Studio는 헤더가드를 #program once로 생성합니다. -> 컴파일러마다 헤더가드를 다른 코드로 사용합니다.
'CLion 사용법' 카테고리의 다른 글
CLion | 헤더 파일(Header File) 2가지 방법으로 만들기 (0) | 2020.04.26 |
---|