← Back to context

Comment by maccard

4 days ago

We put

    #define WIN32_LEAN_AND_MEAN 1
    #include <windows.h>

In precompiled headers to solve that particular problem.

That's kind of a hack, still best only used in implementation files, not headers.

  • The irony is that including/using many standard c++ headers is far far more expensive than including a lean windows.h these days.

    To make hobby-coding fun, i use a mstdp.hpp that implements "naive" versions of unique,shared,function,etc that compiles faster than including just one of the std versions (and yes, MSVC versions of those libraries seem to be excessivly complex).

    • Not when using modules, which I have moved into on hobby projects.

      The import std is much faster than plain #include<iostream>.

      3 replies →

  • That may be true, but it's a "hack" that has caused me approximately 1 issue in 15 years of writing C++ professionally, and that issue was a problem with our build system not the precompiled header.

    > Still best only used in implementation files, not headers.

    We only compile implementation files!