5 ms·
Do they offer the header generator as a standalone tool? I figured this was possible but haven't seen anything that does it. I hate writing function signatures
by 8n4vidtmkvmk 3y ago
Do they offer the header generator as a standalone tool?
I figured this was possible but haven't seen anything that does it. I hate writing function signatures twice with subtle differences like default args and overrides. Waste of my time.
- dataflow 3y agoIs header generation substantially faster than compilation? I guess it skips codegen and instead replaces it with header generation, but isn't most of the time spent in parsing/semantic analysis? Or is header generation done in some hacky way that's much faster than full parsing?
- netheril96 3y agoI think the point of header generation is not to save compilation time, but to save developer time. Saving them from writing the same thing twice, in header and in implementation.
- 8n4vidtmkvmk 3y agoExactly this. I already have to wait 3 to 10 minutes for compiles. Can't imagine header generation will add substantially more.
- maccard 3y agoIt's not that sort of header generation, it's a straight up code generator. You can write #include "MyClass.gen.h" UCLASS() class UMyClass : public UObject { GENERATED_BODY() public: UPROPERTY(BlueprintReadWrite, EditAnywhere ) float MyFloat = 1.f; UPROPERTY() APlayerController* MyPc; }; in a header, and you get garbage collection, serialisation, script binding, editor UI out of the generated code.
- maccard 3y agoThe header gen is much faster than compilation, and is just a code generator. My project takes about 20 minutes for a clean build, the header generation is about 10 seconds at the beginning.
- dataflow 3y agoHow is that even possible? Is header generation hacky? Or does it really generate the AST?
- maccard 3y agoIt generates a header and cpp file for each header that it parses. It generates some pretty rudimentary c++ with a bunch of macros, and it looks like very generated code. It's then compiled after, but the nature of the generated code is fairly simple c++ so the cost isn't enormous
- maccard 3y agoIt's not that sort of tool. It's called UnrealHeaderTool, but it's a straight up code generator.