일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- map
- 정렬알고리즘
- C++
- 프로그래머스
- BFS
- 애셋로드
- 데이터애셋
- 언리얼가비지컬렉터
- UELOG
- moreeffectiveC++
- stl
- 선택정렬
- dataasset
- unorder_map
- 강참조
- UE4 커스텀로그
- 람다
- 알고리즘
- UE_LOG
- 언리얼엔진구조체
- 델리게이트
- 스마트포인터
- C++최적화
- 람다사용정렬
- 약참조
- 자료구조
- 크리티컬섹션
- 정렬
- enumasByue
- UML관련
- Today
- Total
기억을 위한 기록들
IWYU 레퍼런스 본문
https://www.youtube.com/watch?v=mSRov77hNR4&list=PLZlv_N0_O1gYup-gvJtMsgJqnEB_dGiM4
언리얼엔진에서 제공되는 기초 C++ 강의 Battery Collector(이하 배터리 콜렉터)를 따라하다보면 나타는 문제점들이 발생한다.
그 문제로 배터리 콜렉터를 최근 버전으로 vs로 따라하면 제대로 실행이 되지 않는다....
그 문제로 강의의 엔진 버전은 4.9버전이고 현재 기준으로 4.21까지(작성일 기준) 나온상태로써의 차이점이 존재하는데,
그 중 하나가 *IWYU(Include-What-You-Use) 이다.
쉽게 설명하자면 기존 구 버전에서는 C++ 프로젝트 생성시 Engine.h
및 UnrealEd.h 등 모든 게임 엔진에 필요한 소스등을 만든 프로젝트에 종속 시켰으나, 불필요 한것까지 다 포함 시켜버리니... *병목현상이 일어나 버리는 것이다.
그래서 4.15버전 부터는 본인 프로젝트에 필요한것만 포함시켜라 해서 나온것이다. 이렇게 변경을 통해 빌드시간을 줄이고, 소스 파일 자체의 독립적인 변경도 가능하게 되었다!
한마디로 새로운 방식으로서 불필요한 헤더파일의 참조로 인한 컴파일 시간과 인텔리센스의 부하를 최소화 하기 위함이다.
(4,15버전 이후) 최소 기능한 선언되어있는 CoreMinimal.h,
(4.15버전 이전) 다양한 기능이 선언되어있는 EngineMinimal.h 이다.
참고 링크
-언리얼엔진 공식 문서
* IWYU ? https://docs.unrealengine.com/ko/Programming/BuildTools/UnrealBuildTool/IWYU/index.html
-출처 네이버 지식백과
https://terms.naver.com/entry.nhn?docId=2835911&cid=40942&categoryId=32848
* 병목현상 ?
어떤 시스템 프로그램 가운데 집중적인 사용으로 전체 시스템에 절대적 영향을 미치는 사용 빈도가 많은 부분 또는 중요 프로그램으로 사용 빈도가 많아 그 부분의 성능 저하로 전체 시스템이 마비되는 현상.
'UnrealEngine' 카테고리의 다른 글
[UE4]플러그인이란? (0) | 2022.04.17 |
---|---|
[언리얼엔진] 가비지 컬렉션이란 ? (언리얼엔진에서의 메모리 관리) (0) | 2021.11.07 |
[언리얼엔진] 리플렉션 (aka. 프로퍼티 시스템) (0) | 2021.11.06 |
UE4 오브젝트 풀링 구현 (탄막슈팅/C++) (0) | 2020.11.30 |
UE4 에서 dll 파일 다루기 (0) | 2020.10.20 |