본문 바로가기
Shader

#ifndef 이게 뭘까

by 대마왕J 2021. 4. 8.

URP 셰이더를 보다보면 인클루드 파일에 

 

#ifndef UNIVERSAL_SIMPLE_LIT_INPUT_INCLUDED

#define UNIVERSAL_SIMPLE_LIT_INPUT_INCLUDED

 

#endif

 

이런 류의 항목을 볼 수 있다.

검색해 봐도 따로 선언된 곳도 없고 , 

어디다 쓰는걸까 라는 생각이 든다. 

 

이것은 중복 인클루드를 막는 거라고 생각해도 좋을듯. 

아무래도 URP 셰이더는 인클루드로 서로 막 꼬여 있기 때문에, 인클루드에 인클루드가 들어갈 수도 있다고 생각하는게 편하다. 

 

그럴때 이걸 선언해서, 중복 인클루드해도 문제가  없도록 선언해 주는 것이라고 보는게 좋겠다. 

 

pchero21.com/?p=911

 

헤더파일 속의 #ifndef와 #endif 선언

 헤더파일을 보면 다음과 같이 #ifndef와 #endif가 나온다. 이는 3-1.h 헤더파일을 다른 소스파일이 여러 번 include 했을 때 발생하는 문제를 미연에 방지하기 위해서이다. #ifndef __3_1_h__ #define __3_1_h__

pchero21.com

 

반응형

댓글