I am just curious why are there functions/code in a .h file?
#include "Microsoft_craziness.h"`
Then in a c/cpp file: #define MICROSOFT_CRAZINESS_IMPLEMENTATION
#include "Microsoft_craziness.h"
The define causes the actual functions to be put in, while without it only the declarations are included.