有的时候在我们很纳闷我们当自己的操作系统是什么amd64、mips、arm等架构的时候,或者知道我电脑的其他底层的信息。
QSysInfo 可以知道电脑的底层信息
直接上代码
#include <QCoreApplication>
#include <QSysInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qDebug() << "WindowsVersion: " << QSysInfo::WindowsVersion;
qDebug() << "指针大小: " << QSysInfo::WordSize;
qDebug() << "大小端: " << QSysInfo::ByteOrder;
qDebug() << "MacintoshVersion: " << QSysInfo::MacintoshVersion;
qDebug() << "架构全部信息== " << QSysInfo::buildAbi();
qDebug() << "构建CPU架构==" << QSysInfo::buildCpuArchitecture();
qDebug() << "当前Cpu架构==" << QSysInfo::currentCpuArchitecture();
qDebug() << "内核类型==" << QSysInfo::kernelType();
qDebug() << "内核版本==" << QSysInfo::kernelVersion();
qDebug() << "主机名称==" << QSysInfo::machineHostName();
qDebug() << "产品名称== " << QSysInfo::prettyProductName();
qDebug() << "产品类型==" << QSysInfo::productType();
qDebug() << "产品版本==" << QSysInfo::productVersion();
qDebug() << "Windows Version: " << QSysInfo::windowsVersion();
return a.exec();
}
运行结果
其中指针大小是经过移位了的结果
大小端 0代表大端,1代表小端
架构的全部信息 QSysInfo::buildAbi();
其又三个或以上的部分组成,有“-”分隔。具体信息如下:
CPU Architecture 例如,"arm","i386","mips","x86_64"
Endianness "little_endian" 或 "big_endian"
Word size "llp64"(Windows 64-bit),"lp64"(Unix 64-bit),"ilp32"(32-bit)
(Optional)ABI 零个或多个该平台上不同的ABI