本文介绍了如何找到操作系统的名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问题很简单.我想要一个函数(C ++)或方法,该函数或方法将在调用时恢复
The questions pretty simple. I want want a function (C++) or method which will, on call, returun something like
"Windows" //or "Unix"没什么,我不需要版本numbe或任何东西.只是操作系统名称.快速的Google searc并没有显示出任何有用的信息,因此我认为应该在此处发布
Nothing fancy, I dont need the version numbe or anything. Just the os name. A quick google searc didnt turn up anything useful, so I thought I'd post this here
推荐答案由于您无法在所有操作系统上运行一个二进制文件,因此您需要重新重新编译代码.可以使用MACRO.
Since you can not have a single binary file which runs over all operating systems, and you need to re-compile your code again. It's OK to use MACROs.
使用诸如
_WIN32 _WIN64 __unix __unix__ __APPLE__ __MACH__ __linux__ __FreeBSD__像这样
std::string getOsName() { #ifdef _WIN32 return "Windows 32-bit"; #elif _WIN64 return "Windows 64-bit"; #elif __APPLE__ || __MACH__ return "Mac OSX"; #elif __linux__ return "Linux"; #elif __FreeBSD__ return "FreeBSD"; #elif __unix || __unix__ return "Unix"; #else return "Other"; #endif }您应该阅读编译器手册,并查看它们提供了哪些MACROS来在编译时检测操作系统.
更多推荐
如何找到操作系统的名称?
发布评论