当前位置: 首页 > 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++代码,能正确获取到当前系统架构,亲测可用!!!在这里插入图片描述

相关文章:

  • 调试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
  • 教育部、国家发改委联合启动实施教师教育能力提升工程
  • 广州下调个人住房公积金贷款利率
  • 司法部:建立行政执法监督企业联系点,推行行政执法监督员制度
  • 公募基金解读“一揽子金融政策”:增量财政空间或打开,有助于维持A股活力
  • 经济日报:降准降息,提前还房贷划算吗?
  • 两国战机均未侵入对方领空,巴方公布对印回击细节