最近项目需要判断mac系统是否低于10.15.但是一直不知道怎么获取,这次记录一下获取方式。

首先Qt当中有一个QSysInfo类,按道理是可以获取到系统版本的。但是我们看下面这个函数,它的返回值MacVersion是一个枚举,这个枚举最多能获取到10.12的系,显然不符合我们的要求。

所以,我们只有另辟蹊径,幸好在mac下有utsname,它可以获取到一个和系统版本号有极大关联的一个称之为Darwin kernel的版本。简单来说Darwin是OS X的一个组件,是操作系统的类 UNIX 核心,本身由内核(kernel)、XNU(“X is Not UNIX”的缩写,这

个缩写类似于 GNU 的递归式缩写)和运行时组成。

它的版本关系和系统版本有以下关系:If (OSX.version == 10.x.y) Darwin.version = (4+x).y

所以获取到Darwin的版本就变相获取到了系统版本

#include <sys/utsname.h>
int uname(struct utsname *name);#define    _SYS_NAMELEN    256
struct    utsname {char    sysname[_SYS_NAMELEN];    /* [XSI] Name of OS */char    nodename[_SYS_NAMELEN];    /* [XSI] Name of this network node */char    release[_SYS_NAMELEN];    /* [XSI] Release level */char    version[_SYS_NAMELEN];    /* [XSI] Version level */char    machine[_SYS_NAMELEN];    /* [XSI] Hardware type */
};

c++获取mac操作系统的版本号相关推荐

  1. xp系统vba服务器,VBA获取操作系统的版本号(支持windows xp,windows 2003 ,win7 ,win10)

    VBA获取操作系统的版本号(支持windows xp,windows 2003 ,win7 ,win10) Public GetOsVersion() As String Dim objWMIServ ...

  2. PHP 获取浏览器以及版本号

    PHP 获取浏览器以及版本号  增加获取 chrome浏览器 各大经典浏览器HTTP_USER_AGENT详细 IE  而IE各个版本典型的userAgent如下:   Mozilla/4.0 (co ...

  3. Android 获取手机系统版本号、获取手机型号、获取手机厂商、获取手机IMEI、获取手机CPU_ABI、获取手机唯一识别码

    1.先申请权限,关于如何申请权限请查看RxPermissions的使用(简单实用)_ErwinNakajima的博客-CSDN博客 2.手機唯一識別碼管理類. package com.phone.co ...

  4. java获取mac和机器码,注册码的实现、CPU序列号

    CPU序列号: package test; import java.io.IOException; import java.util.Scanner; public class CPUTest { / ...

  5. java 根据ip获取mac地址_利用java如何根据IP获取mac地址

    利用java如何根据IP获取mac地址 发布时间:2020-11-25 15:49:42 来源:亿速云 阅读:74 作者:Leah 利用java如何根据IP获取mac地址?针对这个问题,这篇文章详细介 ...

  6. Node.js获取mac网卡地址

    一.关于getmac node.js没有直接获取mac网卡地址的模块,此时我们需要借助于第三方模块getmac.getmac 可以帮助我们 获取当前机器上的mac地址.gatmac 下载地址为:htt ...

  7. 用 Windows API “GetAdaptersInfo” 获取 MAC 时遇到的问题

    前段时间有个项目需要获取客户端的 MAC 地址,用作统计去重的参考数据.从网上查到的获取 MAC 地址的代码,大多是用同一段代码修改的.于是我也用了那段代码.代码如下: [cpp] view plai ...

  8. iOS7以下设备获取mac地址

    注意,是iOS7以下的设备,直接上源码,获取mac地址都是为了唯一标识一个设备的,但iOS7设备的mac地址为 020000000000 MacAddress.h #include <sys/s ...

  9. C# 获取MAC地址

    /*********************************************************************** C# 获取MAC地址* 说明:* 在C#中获取本机的M ...

最新文章

  1. Window Server 2008 R2 安装 Share Point 2013
  2. android okhttp 多线程,android – Okhttp Authenticator多线程
  3. java和php设置的cookies_php带cookie访问下载文件 header设置
  4. gulp,grunt,bower,feoman,fis 简单说明
  5. 把combobox控件添加到datagridview控件中_自定义系列:控件属性添加
  6. 关于服务器虚化的优势,vmware虚化优势.docx
  7. c enum能像java一样吗_不一样的Java Enum
  8. 『中级篇』容器网络之host和none(29)
  9. IP城域网缺省路由规划--第一课
  10. freeswith 录制 MP4格式视频
  11. linux展示文件最尾部内容 最新,LINUX tailf命令-显示文件的末尾若干行内容
  12. EDA和数据挖掘实战:漫威与 DC电影收视率和票房分析
  13. 推荐一款我最近爱上的网页版文库(编辑器)——语雀yuque.com
  14. 更改WPS云文档保存位置
  15. 成为成功的软件开发顾问的5个关键
  16. 汇编语言基础入门知识
  17. 用python做软件_女友闹别扭不用担心,Python做个软件轻松哄好
  18. python作业——SVM预测交通流量
  19. VSCode的LeetCode插件中国区账号密码登录错误
  20. 使用 SAP UI5 绘制 Business Rule Control

热门文章

  1. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之05【EC20模组TCP/IP模块AT指令说明】
  2. 心脏骤停患者数据统计系统
  3. 微信支付找不到sdk
  4. 中国苹果树苗市场产量需求与投资收益预测报告2022-2028年
  5. oracle分页排序查询,Oracle分页查询中排序与效率问题解决方法详解
  6. 挑战程序设计(算法和数据结构)—九宫格
  7. 在C++中响铃的两种方法
  8. MyBatis学习笔记-源码分析篇
  9. 天地图服务http转https报错
  10. 使用ELF解析工具patch ELF