当前位置: 首页 > news >正文

现代c++获取linux系统架构

现代c++获取linux系统架构

  • 前言
  • 一、使用命令获取系统架构
  • 二、使用c++代码获取系统架构
  • 三、验证
  • 四、总结

前言


本文介绍一种使用c++获取linux系统架构的方法。

一、使用命令获取系统架构

linux系统中可以使用arch或者uname -m命令来获取当前系统架构,如下图所示

arch

在这里插入图片描述

uname -m

在这里插入图片描述

二、使用c++代码获取系统架构

需要包含<sys/utsname.h> 这个头文件
接口如下

std::string Arch() {struct utsname sysInfo {};if (uname(&sysInfo) == 0) {return sysInfo.machine;}std::cerr << "无法获取系统信息!" << std::endl;return {};
}

三、验证

main.cpp中写下如下代码

#include <iostream>
#include <string>
#include <sys/utsname.h>std::string Arch() {struct utsname sysInfo {};if (uname(&sysInfo) == 0) {return sysInfo.machine;}std::cerr << "无法获取系统信息!" << std::endl;return {};
}int main() {std::cout << Arch() << std::endl;return 0;
}

编译并执行,g++ main.cpp -o main && ./main,执行结果如下
在这里插入图片描述
可以正确获取我虚拟机的架构。
交叉编译一下,放到开发板中运行aarch64-linux-gnu-g++ main.cpp -o main, 结果如下
在这里插入图片描述
在这里插入图片描述
也能正确获取到开发板架构。

四、总结

使用上诉的c++代码,能正确获取到当前系统架构,亲测可用!!!在这里插入图片描述

http://www.dtcms.com/a/133765.html

相关文章:

  • 调试chili3d笔记 typescript预习
  • Spring Boot 项目三种打印日志的方法详解。Logger,log,logger 解读。
  • 深入解析 sklearn 中的多种特征编码方式:功能、适用场景与选择建议
  • React 在组件间共享状态
  • [Godot] C#人物移动抖动解决方案
  • 机器学习 | 通俗理解Q-Learning、Sarsa和Sarsa(λ)
  • Python----机器学习(逻辑回归与二分类问题)
  • Access Token 和 Refresh Token 的双令牌机制,维持登陆状态
  • 通道注意力机制|Channel Attention Neural Network
  • ESP8266/32作为AVR编程器(ISP programmer)的使用介绍
  • JVM:JVM与Java体系结构
  • 小白如何从0学习php
  • 一款轻量级的PHP地址发布页面源码
  • HarmonyOS-ArkUI V2状态-PersistenceV2:持久化存储UI状态
  • ubuntu启动 Google Chrome 时默认使用中文界面,设置一个永久的启动方式
  • 架构设计系列
  • 在Java使用rest Client操作ES
  • 软件设计模式
  • vue+vite 减缓首屏加载压力和性能优化
  • dea如何使用git
  • python程序打包——nuitka使用
  • 「数据可视化 D3系列」入门第三章:深入理解 Update-Enter-Exit 模式
  • Redis - 讲清楚集群模式(Redis Cluster)(上)
  • C++ 创龙UDP通讯demo
  • 如何在vue3项目中使用 AbortController取消axios请求
  • UWB技术与5G、物联网结合的应用前景
  • c# 根据圆面积计算最大芯片数量
  • Java虚拟机面试题:类加载机制
  • 【grafana原生告警中心配置飞书机器人告警】
  • 微信小程序-自定义toast