gpt4 book ai didi

c++ - 检测 CPU 架构编译时

转载 作者:IT老高 更新时间:2023-10-28 12:05:24 60 4
gpt4 key购买 nike

在编译 C 或 C++ 代码时找出 CPU 架构最可靠的方法是什么?据我所知,不同的编译器有自己的一组非标准预处理器定义(MSVS 中的 _M_X86、GCC 中的 __i386____arm__等)。

是否有一种标准方法来检测我正在构建的架构?如果没有,是否有各种编译器的此类定义的完整列表的来源,例如带有所有样板 #ifdefs 的 header ?

最佳答案

没有跨编译器标准,但每个编译器都趋于一致。您可以为自己构建一个标题,如下所示:

#if MSVC
#ifdef _M_X86
#define ARCH_X86
#endif
#endif

#if GCC
#ifdef __i386__
#define ARCH_X86
#endif
#endif

一个完整的列表没有什么意义,因为有成千上万的编译器,但只有 3-4 个被广泛使用(Microsoft C++、GCC、Intel CC,也许是 TenDRA?)。只需决定您的应用程序将支持哪些编译器,列出它们的#defines,并根据需要更新您的 header 。

关于c++ - 检测 CPU 架构编译时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/152016/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com