c++ - Unreal 使用什么样的反射?

标签 c++ performance reflection scripting unreal-engine4

我知道虚幻引擎使用反射系统来拥有 C++ 脚本这一事实。我也知道它使用宏来定义引擎应如何反射(reflect)变量。以下是我不知道的:

这些宏是在代码执行中定义元数据(填充列表、定义结构等...),还是它们只是用于生成的解析器的标记更多 C++ 代码,然后引擎使用这些代码来了解要反射(reflect)哪些变量?

它必须是这两者之一,因为我非常怀疑宏是否可以帮助解析调试代码,这是我在调查了几个 C++ 反射系统后发现的唯一第三个选项。

最佳答案

虚幻引擎生成用于反射系统的 C++ 代码。

UHT parses the headers, builds up a set of reflection data, and then generates C++ code containing the reflection data (contributing to a per-module .generated.inl), as well as various helpers and thunk functions (per-header .generated.h).

来自 https://www.unrealengine.com/en-US/blog/unreal-property-system-reflection

关于c++ - Unreal 使用什么样的反射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58389784/

相关文章:

mysql - 通过性能指标提高mysql数据库性能

performance - 我可以做些什么来提高 Lua 程序的性能?

php - ReflectionClass 转换为 "normal"Class

c++ - 如何将一个数字四舍五入为另一个数字的倍数?

c++ - 使用 IARG_MEMORYREAD_EA

c++ - 使用 MinGW 配置 Eclipse 3.7?

c# - 如何在不使用反射的情况下访问一系列类的公共(public)属性

c++ - 我可以在 STL::vector::iterator 上做指针运算吗

ruby-on-rails - 计算数据库用户数据的大量统计信息 : optimizing performance

java - java中是否可以从对象中删除属性(变量)?