https://docs.microsoft.com/en-us/cpp/preprocessor/hash-include-directive-c-cpp?redirectedfrom=MSDN&view=msvc-170