Level : WORDPRESS BOOK LINKEDIN PATENT Send Mail 동냥하기 hajunho.com

반응형

`#include "Windows/AllowWindowsPlatformTypes.h"` 와 `#include "Windows/HideWindowsPlatformTypes.h"`를 사용하는 이유는 주로 윈도우 플랫폼의 타입 및 정의들과 언리얼 엔진의 타입 및 정의들 간의 충돌을 방지하기 위해서입니다. 구체적으로 설명하자면:

### 충돌 방지 및 호환성 유지

1. **타입 충돌 방지**:
   - 윈도우 헤더 파일(`Windows.h` 등)에는 언리얼 엔진의 헤더 파일과 동일한 이름을 가진 타입이나 매크로 정의들이 있습니다. 예를 들어, `DWORD`, `TEXT`, `MIN`, `MAX` 등의 이름이 언리얼 엔진과 윈도우 헤더 파일 모두에 정의되어 있어 충돌할 수 있습니다.
   - `AllowWindowsPlatformTypes.h`는 윈도우 플랫폼 타입들을 포함하기 전에 언리얼 엔진 자신이 정의한 타입과 매크로들을 저장해 둡니다.
   - `HideWindowsPlatformTypes.h`는 이후 윈도우 플랫폼 타입을 숨기고, 저장해 둔 언리얼 엔진의 정의들을 복원합니다.

2. **코드 가독성 및 유지보수 용이성**:
   - 이 지시문들을 사용하면, 코드가 더 명확하고 유지보수하기 쉬워집니다. 이는 다른 개발자가 코드를 읽고 이해할 때 도움이 됩니다.
   - 코드의 특정 부분만 윈도우 관련 헤더 파일을 포함하도록 명시적으로 지정함으로써, 플랫폼 의존적인 코드가 필요한 경우와 그렇지 않은 경우를 구분할 수 있습니다.

3. **플랫폼 간 호환성**:
   - 이렇게 함으로써, 다른 플랫폼에서도 컴파일 오류를 최소화할 수 있습니다. 언리얼 엔진은 여러 플랫폼을 지원하기 때문에, 윈도우 전용 코드를 안전하게 격리하여 다른 플랫폼용 코드와 충돌하지 않게 합니다.
   - 이를 통해 프로젝트가 다수의 플랫폼에서 원활하게 동작하도록 보장할 수 있습니다.

### 예시 코드
```cpp
#include "Windows/AllowWindowsPlatformTypes.h"
#include <Windows.h>
#include "Windows/HideWindowsPlatformTypes.h"

// 윈도우 플랫폼 타입이나 함수들을 사용하는 코드
void SomeWindowsSpecificFunction()
{
    // 윈도우 API 사용
    MessageBox(NULL, TEXT("Hello World"), TEXT("Title"), MB_OK);
}
```

위 코드에서는 `AllowWindowsPlatformTypes.h`와 `HideWindowsPlatformTypes.h`를 사용하여 `Windows.h`를 안전하게 포함하고, `MessageBox` 같은 윈도우 API 함수를 사용합니다. 이렇게 하면, 언리얼 엔진과 윈도우 헤더 파일 간의 충돌을 효과적으로 방지할 수 있습니다.

 


 

반응형

'3D world > Unreal Engine Plug-ins' 카테고리의 다른 글

OpenCV installation  (0) 2021.01.31
RHI, Render Hardware Interface  (0) 2021.01.03
H.264  (0) 2020.06.14
UTexture2D  (0) 2019.11.20
NDI  (0) 2019.09.12
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기