1. 모듈이란
- 내가 느낌상 이해한 것
모듈 : dll 빌드하는 단위.
___ API 단위임 (같은 모듈이면 같은 API)
이 클래스의 코드는 ubt에 의해서 이 이름의 dll에 뽑힙니다~~
https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/Modules/
Unreal Engine Modules
Modules are the building blocks of Unreal Engine's software architecture. You can organize your code into modules to create more efficient and maintainable projects.
docs.unrealengine.com
모듈 : 언리얼 아키텍쳐들을 빌드 하는 기본 단위.
- 툴기능, 런타임기능, 라이브러리 기능 등 독립적으로 캡슐화 가능함.
* C++20에서의 모듈과 상관 없다.
UBT는 IDE용 솔루션파일이 아니라 모듈 단위로 dll을 뽑는다.
(C++20에서는 솔루션파일 단위로 dll 뽑지만, 언리얼 빌드 툴은 그것을 무시한다)
UBT가 모듈을 인식하려면 [ModuleName] 폴더의 루트 디렉터리에
"ModuleRules"를 상속받은 [ModuleName].Build.cs가 필요하다
이하 목록에 모듈 이름을 추가하면, 모듈 코드에서 사용할 수 있는 모듈이 설정된다.
PrivateDependencyModuleNames : public .h같이 public으로 사용하는 리스트
PublicDependencyModuleNames : .cpp 같이 private으로 사용하는 리스트
언리얼 엔진 모듈은 소프트웨어 아키텍처에서의 기본 구성 요소입니다. 프로젝트를 보다 효율적이고 유지 보수가 가능한 형태로 구성하기 위해 코드를 모듈로 구성할 수 있습니다. 모듈은 특정한 에디터 도구, 런타임 기능, 라이브러리 또는 다른 기능을 독립적인 코드 단위로 캡슐화합니다.
플러그인 : 플러그인으로 빠지면
프로젝트 내부로 포함되지 않고(코드를 전처리기에 의해 붙여넣어져서 직접적으로 접근하지 않고)
모듈에서 뽑힌 dll간의 통신으로만 작동함
배포를 위해.
모듈/플러그인 차이
Build.cs : 전처리기 비슷한 것. 모듈에 대한 빌드 규칙
Target.cs : 이 플젝에서 빌드할 모듈 목록. 이만큼 dll이 뽑힌다
PublicDependencyModuleNames
PrivateDependencyModuleNames
uproject :
"Modules" : 현재프로젝트에서 불러올 모듈/플러그인 목록 + Type : 불러올 옵션 + AdditoonalDependencies : 의존성을 가지고 있는 다른 모듈. 얘를 부르려면 이 모듈도 불러야 한ㄷ.
ㄴ AdditoonalDependencies 랑 Build.cs의 차이가 아리송하네
\
'Unreal' 카테고리의 다른 글
| 캡슐화란 대체 뭘까.. 멍청일기 (1) | 2023.07.13 |
|---|