UE5 的 UBT 和 UHT

**简介:UBT 和 UHT 两个和编译有关系的功能,今天看了一些文章,这个文章写的比较详细虽然是 UE4 的,但是基本原理是一致的,我这里提炼一些要点
IDE: Rider

UBT

UBT 全称 UnrealBuildTool, UBT源码可以在解决方案的Programs\UnrealBuildTool\下找到
它的主要功能就是扫描文件,它并不负责编译,它负责处理文件引用关系,并配置和生成相关配置文件,根据本地情况调用合适的编译器
每个模块下的Build.cs和项目中的Target.cs文件 就是 UBT 用来确定引用和编译目标的配置文件
我们运行GenerateProjectFiles.bat 的时候,它第一件事就是编译 UBT, 然后相 UBT 传递参数,让它来配置和创建合适的项目文件。
UBT的主要工作就是利用开发者手动标记的属性、方法、类等宏来识别类的信息,然后将类信息封装到gen.cpp的代码中,当然还包括对构造析构函数等内容的修改,使用虚幻本身的垃圾回收系统进行管理。

UHT

UHT 全称 UnrealHeaderTool 文本解析工具UnrealHeaderTool存在的意义就是为虚幻反射系统服务,蓝图的实现原理。
根据反射属性标签(UCLASS,UFUNCTION,UPROPERTY等)生成generated.h和gen.cpp文件,用于暴露给蓝图该类的信息,凡是继承自UObject的类都会生成generated.h和gen.cpp文件。

UHT 常用的定义宏

其实它俩就是文件的搜集与整理和对应文件的创建,应该算是代码管理与生成工具吧,文章就不展开写了,只要了解了主要用途,后期用到再看会记忆更深刻这里有详细文章

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容