std::string GetOS() { #if defined(WIN32) return "Microsoft Windows\n" + GetOSDisplayString() + "\n" + GetHardwareInfoString(); #else struct utsname info; if (uname(&info) == 0) { return std::string(info.sysname) + " " + info.release + " " + info.version + " " + info.machine; } else { #if defined(__linux__) return "Linux"; #elif defined(__FreeBSD__) return "FreeBSD"; #elif defined(__APPLE__) return "Mac OS X"; #else #warning improve this return "unknown OS"; #endif } #endif }
std::string GetOS() { #if defined(WIN32) return "Microsoft Windows\n" + GetOSDisplayString() + "\n" + GetHardwareInfoString(); #elif defined(__linux__) return "Linux"; #elif defined(__FreeBSD__) return "FreeBSD"; #elif defined(__APPLE__) return "Mac OS X"; #else return "unknown OS"; #endif }