程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux,文件存储的 CPU 架构大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Linux,文件存储的 CPU 架构?

开发过程中遇到Linux,文件存储的 CPU 架构的问题如何解决?下面主要结合日常开发的经验,给出你关于Linux,文件存储的 CPU 架构的解决方法建议,希望对你解决Linux,文件存储的 CPU 架构有所启发或帮助;

我想知道,在 linux 上,cpu 架构的值存储在哪个文件中,例如x86_64

我知道几种方法(sHell 命令)来访问此值,例如 lscpuuname -a

此外,我知道 Qt-Method QSysInfo::currentCpuArchitecture()。他们都提供了所需的信息。

但我喜欢创建一个 OS-Interface,它仅通过使用“linux-Tools”(如 /proc/... 中的文件中的信息)来检索底层操作系统(在我的情况下为 linux)的信息。

我还知道我可以通过使popen() 在我的程序中运行 sHell 命令并通过 std 流光类访问结果。那没问题。但不幸的是,我们不喜欢在我们的软件中运行 sHell 命令。

我查看了几个文件,例如 /proc/version/proc/cpuinfo/proc/devices/proc 子文件夹中的文件。

但不幸的是,我似乎总是忽略了这条信息。我确定它必须在文件中,因为方法 qsysInfo::currentcpuArchitecture() 也访问此信息。

因此,如果有人知道这些信息在 linux 上的位置,我会很高兴他或她告诉我。

致以亲切的问候

解决方法

根据@H_811_3@man lscpu

lscpu 从 sysfs 收集 CPU 架构信息, /proc/cpuinfo ...

/proccpuinfo 下查找信息是正确的想法,因为信息在那里,但不是您期望的格式。它以某种方式“隐藏”在 flags 行中。您喜欢寻找 lm(长模式)。

cat /proc/cpuinfo | grep "flags\| lm "

如果设置了长模式标志,您将处于 x86_64

感谢/感谢

  • what do the flags in /proc/cpuinfo mean?
  • CPUID,位 29 (LM)

信息是如何收集和处理的,您可以在 sys-utils/lscpu.c 中找到,例如第 369-378 行。

其他 CPU 模式是

  • 实模式,16 位 CPU,Intel 8086 或 8080 仿真模式,复位后所有 x86 CPU 都以该模式启动
  • 保护模式,32 位 CPU

大佬总结

以上是大佬教程为你收集整理的Linux,文件存储的 CPU 架构全部内容,希望文章能够帮你解决Linux,文件存储的 CPU 架构所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。