C++ c++;17如何获得跨平台的CPU体系结构

C++ c++;17如何获得跨平台的CPU体系结构,c++,cpu-architecture,C++,Cpu Architecture,基本上,我喜欢获取应用程序运行的CPU体系结构类型 类似于node.js或 它可以是我可以链接到我的应用程序的任何C++/C库 但不是Qt,因为我不能用它 更新 这就是node.js中的内容 function arch(): string; /** * Returns a string identifying the kernel version. * On POSIX systems, the operating system release is determi

基本上,我喜欢获取应用程序运行的CPU体系结构类型 类似于node.js或
它可以是我可以链接到我的应用程序的任何C++/C库 但不是Qt,因为我不能用它

更新

这就是node.js中的内容

 function arch(): string;
    /**
     * Returns a string identifying the kernel version.
     * On POSIX systems, the operating system release is determined by calling
     * [uname(3)][]. On Windows, `pRtlGetVersion` is used, and if it is not available,
     * `GetVersionExW()` will be used. See
     * https://en.wikipedia.org/wiki/Uname#Examples for more information.
     */

<>标准C++不能做到这一点。如果您使用Qt,它会完全满足您的需求。

我所看到的唯一一件有点相关的事情是。我可以想象,除此之外的一切都依赖于操作系统,并且需要针对每种情况进行处理。也有一些硬件相关,但我认为GCC拒绝执行这些。@ USER 638 98我没有投票-但它不能只使用标准的C++。你必须使用OS特定的功能。这是什么平台?没有什么意义,不像JavaScript C++是一种编译语言。以cpu特定的机器代码作为编译结果。因此,您必须在编译之前选择体系结构。在运行时,您只需返回您以前已经知道的内容。这是如何工作的?有嵌入式系统运行C++,不广播他们的处理器的任何内容,或者如何映射地址。@ ToMasMatthw显然只在系统QT支持上工作。Qt是怎么做的?是否有一些c/c++库可以从中提取代码?我不能用Qt@user63898:仅就拱门而言,它可能是Qt支持的所有体系结构的一个大链,因此希望该函数可以作为编译时常量字符串内联。(可能是要检查宏的每个编译器的一些变体。)o链接的文档说“由于所使用的操作系统函数的性质”,这可能意味着在运行时(如
uname
),但可能只是意味着在Qt配置时硬编码一个值。@user63898是Qt的工作方式。这是一段混乱的代码。