C++ Header files for detecting operating system and architecture