Until some time ago, my code base was very close to #include hell. Every time I even changed a slightly important .h file, almost all the files were recompiled.
The main reason for such a high dependence of the header was that I have many small functions that should be built-in, and I had the impression that for working inside they should be in the same translation system as the call code, therefore they should be in the title. For a built-in function to compile other headers, you must also include ad infimum in the header.
Enter the connection time code generation (in Visual Studio). One of the main claimed benefits of this is that the built-in function can now cross over translation units. But I will still. How can I really be sure that these features are really built-in? I understand that, in principle, the compiler can do whatever it wants, no matter where I define the function.
Is there any way to check what happens?
c ++ visual-studio header inline
shoosh
source share