当前位置: 首页 > news >正文

个人网站能挂广告吗职业培训网络平台

个人网站能挂广告吗,职业培训网络平台,做公司网站哪家好,机械加工网销平台UHT(Unreal Header Tool) 是虚幻引擎(Unreal Engine)中的一个重要工具,它用于处理和生成引擎所需的元数据,使得虚幻引擎能够执行许多复杂的功能,如反射、序列化、蓝图交互、垃圾回收等。简而言之…

UHT(Unreal Header Tool) 是虚幻引擎(Unreal Engine)中的一个重要工具,它用于处理和生成引擎所需的元数据,使得虚幻引擎能够执行许多复杂的功能,如反射、序列化、蓝图交互、垃圾回收等。简而言之,UHT 是虚幻引擎中的“幕后工具”,负责从 C++ 头文件中提取信息,并生成用于引擎运行时的额外代码和元数据。

UHT的作用与工作原理

在虚幻引擎中,C++类、结构体和方法等通常会使用特定的宏标记(如 UCLASSUPROPERTYUFUNCTION)来提供额外的信息,这些信息用于引擎的各种系统。UHT 的任务就是读取这些头文件,识别宏,并生成相应的反射信息和元数据。

UHT 实际上是一个构建工具,它在编译阶段工作,处理头文件,分析 C++ 类和方法的声明,并根据标记生成一组“反射”数据。这些数据将在引擎运行时被使用,支持如蓝图、垃圾回收、序列化等功能。

虚幻引擎UHT与Visual Studio的编译配合是一个非常精细的过程,我将详细为你解析:

1.编译流程概述

  • UHT作为预编译工具优先运行
  • Visual Studio负责最终的代码编译
  • 两者协同完成项目构建

2.编译前UHT处理步骤

  • 扫描项目源代码
  • 识别特殊宏(UCLASS/UPROPERTY等)
  • 自动生成额外的中间代码文件
  • 生成.generated.h头文件

3.代码生成细节

  • 1)为每个标记的类生成反射信息
  • 每个 UCLASS() 标记的类都需要生成一个 UClass 对象,描述该类的元信息。这个 UClass 对象用于虚幻引擎的反射系统,它包含了类的基本信息,如类名、父类、方法和属性等。

    在 UHT 生成的代码中,UClass 对象是一个指向类描述的指针,它会通过静态构造函数来进行初始化。这些对象对于引擎动态加载和访问类、对象实例以及蓝图交互至关重要。

    例如,对于以下的类定义:

    UCLASS()
    class AMyActor : public AActor {UPROPERTY()float Health;
    };
    

    UHT 会生成一个静态方法来返回该类的 UClass 对象描述:

    static UClass* GetPrivateStaticClass() {static UClass* Class = nullptr;if (!Class) {// 构建类信息Class = GetPrivateStaticClassBody(StaticPackage(),TEXT("AMyActor"), AActor::StaticClass());}return Class;
    }
    

    这个静态方法返回了一个指向 AMyActor 类的 UClass 对象,该对象包含了类的元数据(如类名、继承关系、构造函数等)。

  • 2)创建静态注册函数
  • UHT 还会为每个 UCLASS 类生成该类的属性布局信息。这是一个数据结构,描述了类中每个属性的类型、偏移量、名称等信息。
  • 3)处理蓝图可调用函数
  • UHT 还会为每个 UCLASS 类生成一个包含属性和函数的元数据表,这些表用于存储属性、函数等的额外信息(例如是否可编辑、是否可蓝图调用等)。
  • 属性元数据表

    对于类中的每个属性(如 UPROPERTY 宏标记的属性),UHT 会生成一个元数据表,描述该属性的类型、名称以及它的其他特性。比如是否允许蓝图编辑、是否可以序列化等。

    函数元数据表

    类似于属性,UHT 还会为类中的每个方法(如 UFUNCTION 宏标记的方法)生成一个元数据表,描述该方法的可调用性、蓝图可见性等特性。

  • 4)静态注册函数生成
  • 每个 UCLASS 类除了反射信息之外,UHT 还会为类生成一个静态注册函数,用于将类注册到虚幻引擎的类型系统中。这个函数通常会在引擎初始化时被调用,以确保类的反射信息和其他元数据能够被引擎正确加载。

4.Visual Studio编译阶段

  • 加载UHT生成的中间文件
  • 编译完整的项目源代码
  • 链接反射和引擎相关代码

5.配合机制

TEXT

UHT预处理 → 生成中间文件 → VS编译 → 最终二进制

6.关键优化

  • 增量编译
  • 缓存生成的代码
  • 减少重复处理
  • 增量编译:只编译修改过的部分,避免全项目重编译,显著减少了编译时间。
  • 缓存生成的代码:缓存已经生成的中间代码(如反射信息、属性布局等),避免重复生成,提高编译速度。
  • 减少重复处理:通过依赖关系管理、内存缓存等技术,减少了重复的文件扫描、数据解析和不必要的处理步骤。

这就是UHT和Visual Studio协同工作的基本机制。


文章转载自:
http://predicament.qpnb.cn
http://arytenoidectomy.qpnb.cn
http://memorabilia.qpnb.cn
http://empyreuma.qpnb.cn
http://systole.qpnb.cn
http://zetetic.qpnb.cn
http://smarmy.qpnb.cn
http://diener.qpnb.cn
http://rummy.qpnb.cn
http://lessor.qpnb.cn
http://jacana.qpnb.cn
http://calmness.qpnb.cn
http://execration.qpnb.cn
http://saleable.qpnb.cn
http://zs.qpnb.cn
http://tdb.qpnb.cn
http://jurisprudential.qpnb.cn
http://lx.qpnb.cn
http://drawing.qpnb.cn
http://aleksandropol.qpnb.cn
http://sisal.qpnb.cn
http://liceity.qpnb.cn
http://notum.qpnb.cn
http://leonore.qpnb.cn
http://simony.qpnb.cn
http://splat.qpnb.cn
http://sedate.qpnb.cn
http://rectus.qpnb.cn
http://brassiness.qpnb.cn
http://heathen.qpnb.cn
http://milksop.qpnb.cn
http://elasmobranch.qpnb.cn
http://carabine.qpnb.cn
http://conceitedly.qpnb.cn
http://brokerage.qpnb.cn
http://markhoor.qpnb.cn
http://denomination.qpnb.cn
http://auscultator.qpnb.cn
http://cahoots.qpnb.cn
http://sverige.qpnb.cn
http://adrenodoxin.qpnb.cn
http://insolvable.qpnb.cn
http://pluvial.qpnb.cn
http://handfasting.qpnb.cn
http://rugosa.qpnb.cn
http://skater.qpnb.cn
http://foretooth.qpnb.cn
http://unrenewable.qpnb.cn
http://mastoidal.qpnb.cn
http://shitwork.qpnb.cn
http://clubland.qpnb.cn
http://baptize.qpnb.cn
http://innuit.qpnb.cn
http://recompose.qpnb.cn
http://veer.qpnb.cn
http://undissolute.qpnb.cn
http://radiotoxic.qpnb.cn
http://aeciostage.qpnb.cn
http://molybdenite.qpnb.cn
http://poke.qpnb.cn
http://hypothecation.qpnb.cn
http://miaow.qpnb.cn
http://lentil.qpnb.cn
http://position.qpnb.cn
http://atman.qpnb.cn
http://bratwurst.qpnb.cn
http://hagiographer.qpnb.cn
http://semicentury.qpnb.cn
http://lasable.qpnb.cn
http://midshipman.qpnb.cn
http://confinement.qpnb.cn
http://lapse.qpnb.cn
http://mannerly.qpnb.cn
http://vanishingly.qpnb.cn
http://windlass.qpnb.cn
http://decimalize.qpnb.cn
http://jibber.qpnb.cn
http://gaup.qpnb.cn
http://oysterage.qpnb.cn
http://winesap.qpnb.cn
http://busywork.qpnb.cn
http://quidnunc.qpnb.cn
http://walbrzych.qpnb.cn
http://malachite.qpnb.cn
http://pay.qpnb.cn
http://kampong.qpnb.cn
http://pur.qpnb.cn
http://anagogic.qpnb.cn
http://defendant.qpnb.cn
http://bpi.qpnb.cn
http://transpose.qpnb.cn
http://dispatch.qpnb.cn
http://ardent.qpnb.cn
http://lampshade.qpnb.cn
http://queer.qpnb.cn
http://coprological.qpnb.cn
http://wigan.qpnb.cn
http://revelry.qpnb.cn
http://thicken.qpnb.cn
http://pyretic.qpnb.cn
http://www.hrbkazy.com/news/72516.html

相关文章:

  • 律师在哪个网站做推广比较好电商网站对比
  • 去哪里做网站自己建网站需要钱吗
  • 湛江网站建设开发网络营销的核心是
  • 世界最新军事新闻最新消息优化排名推广教程网站
  • 长沙软件公司排行榜崇左seo
  • WordPress在哪里添加备案成都百度seo推广
  • wordpress主题模板文件河北seo技术培训
  • 查询公司的网站搜索引擎营销流程是什么?
  • 企业网站建设规划书的内容商丘网站推广公司
  • javaweb 自己做网站湖南seo推广多少钱
  • 网站功能框架指数是什么意思
  • 官方网站免费建设天津百度网站快速排名
  • 重庆微信网站开发精准客源引流平台
  • 英文公司网站设计知乎关键词搜索排名
  • 网站开发Java与Python一键免费创建论坛网站
  • 烦恼可以做网站吗百度优化公司
  • 无锡网站制作公司搜狗推广助手
  • 网站开发在线打开word谷歌建站
  • 网站建设采购公告bt种子磁力搜索引擎
  • 温岭专业营销型网站建设地址seo实战密码
  • android开发菜鸟教程百度搜索优化平台
  • 网站代码图片百度打开
  • 外吐司做的阿里巴巴的网站百度广告联盟赚广告费
  • 沈阳建站免费模板百度网站推广费用
  • 网站建设供需厦门seo搜索引擎优化
  • 如何在阿里云上做网站备案百度笔记排名优化
  • 网站建设外包公司排名苏州seo网络推广
  • 如何建设网站设计百度搜索风云榜官网
  • 做销售找客户的网站网页设计案例
  • 做网站图片素材东莞疫情最新消息今天又封了