<QtProcessorDetection> - Architecture-specific Macro Definitions

<QtProcessorDetection> 头文件包含各种特定于体系结构的宏。更多

Header: #include <QtProcessorDetection>

详细说明

<QtProcessorDetection> 头文件声明了一系列宏 (Q_PROCESSOR_*),如果应用程序是针对指定的处理器体系结构编译的,就会定义这些宏。例如,如果应用程序是针对 x86 处理器编译的,就会定义Q_PROCESSOR_X86 宏。

这些宏的目的是让程序员能在应用程序中添加特定体系结构的代码。

宏文档

QT_POINTER_SIZE

以字节(4 或 8)为单位扩展指针的大小。这等同于sizeof(void *) ,但可以在预处理器指令中使用。

Q_BIG_ENDIAN

该宏代表一个值,您可以将其与Q_BYTE_ORDER 宏进行比较,以确定系统的字节序数。在大端系统中,最重要的字节存储在最低地址。其他字节的重要程度依次递减。

#if Q_BYTE_ORDER == Q_BIG_ENDIAN
...
#endif

另请参阅 Q_BYTE_ORDERQ_LITTLE_ENDIAN

Q_BYTE_ORDER

该宏可用于确定系统在内存中存储数据时使用的字节顺序,即系统是小字节还是大字节。Qt XML 会将其设置为Q_LITTLE_ENDIANQ_BIG_ENDIAN 中的一个宏。通常情况下,您不需要担心字节序问题,但如果您需要知道整数或UTF-16 字符的哪个字节存储在最低地址中,则可能需要考虑字节序问题。内码性在网络中很重要,因为在网络中,Q_BYTE_ORDER 值不同的计算机必须来回传递数据。

在以下示例中使用该宏。

#if Q_BYTE_ORDER == Q_BIG_ENDIAN
...
#endif

or

#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
...
#endif

另请参阅 Q_BIG_ENDIANQ_LITTLE_ENDIAN

Q_LITTLE_ENDIAN

该宏表示一个值,您可以将其与Q_BYTE_ORDER 宏进行比较,以确定系统的字节序数。在小字节系统中,最小有效字节存储在最低地址。其他字节按重要性递增的顺序排列。

#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
...
#endif

另请参阅 Q_BYTE_ORDERQ_BIG_ENDIAN

Q_PROCESSOR_X86

如果应用程序是针对 x86 处理器编译的,则定义该变量。Qt XML 目前支持两种 x86 变种:Q_PROCESSOR_X86_32Q_PROCESSOR_X86_64

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_S390

如果应用程序是为 S/390 处理器编译的,则定义该变量。Qt XML 支持一种可选的 S/390 变体:Q_PROCESSOR_S390_X

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_ALPHA

如果应用程序是为 Alpha 处理器编译的,则对其进行定义。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_ARM

如果应用程序是为 ARM 处理器编译的,则定义该值。Qt 目前支持三种可选的 ARM 版本:Q_PROCESSOR_ARM_V5,Q_PROCESSOR_ARM_V6, 和Q_PROCESSOR_ARM_V7

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_ARM_V5

如果应用程序是为 ARMv5 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_ARM_V5 时,也会定义Q_PROCESSOR_ARM 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_ARM_V6

如果应用程序是针对 ARMv6 处理器编译的,则定义该宏。定义 Q_PROCESSOR_ARM_V6 时,还将定义Q_PROCESSOR_ARMQ_PROCESSOR_ARM_V5 宏。

另请参阅 QSysInfo::buildCpuArchitecture()。

Q_PROCESSOR_ARM_V7

如果应用程序是为 ARMv7 处理器编译的,则定义该宏。定义 Q_PROCESSOR_ARM_V7 时,还将定义Q_PROCESSOR_ARMQ_PROCESSOR_ARM_V5Q_PROCESSOR_ARM_V6 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_AVR32

如果应用程序是为 AVR32 处理器编译的,则对其进行定义。

另请参见 QSysInfo::buildCpuArchitecture()。

Q_PROCESSOR_BLACKFIN

如果应用程序是为 Blackfin 处理器编译的,则对其进行定义。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_HPPA

如果应用程序是为 PA-RISC 处理器编译的,则对其进行定义。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_IA64

如果应用程序是为 IA-64 处理器编译的,则定义为 "IA-64"。这包括所有 Itanium 和 Itanium 2 处理器。

另请参见 QSysInfo::buildCpuArchitecture()。

[since 6.5] Q_PROCESSOR_LOONGARCH

如果应用程序是为 LoongArch 处理器编译的,则对其进行定义。

该宏在 Qt 6.5 中引入。

另请参阅 QSysInfo::buildCpuArchitecture()。

[since 6.5] Q_PROCESSOR_LOONGARCH_32

如果应用程序是为 32 位 LoongArch 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_LOONGARCH_32 时,也会定义Q_PROCESSOR_LOONGARCH 宏。

该宏在 Qt 6.5 中引入。

另请参阅 QSysInfo::buildCpuArchitecture().

[since 6.5] Q_PROCESSOR_LOONGARCH_64

如果应用程序是为 64 位 LoongArch 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_LOONGARCH_64 时,也会定义Q_PROCESSOR_LOONGARCH 宏。

该宏在 Qt 6.5 中引入。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_M68K

如果应用程序是为摩托罗拉 68000 处理器编译的,则对其进行定义。

另请参见 QSysInfo::buildCpuArchitecture()。

Q_PROCESSOR_MIPS

如果应用程序是为 MIPS 处理器编译的,则定义该值。Qt 目前支持七种 MIPS 版本:Q_PROCESSOR_MIPS_I,Q_PROCESSOR_MIPS_II,Q_PROCESSOR_MIPS_III,Q_PROCESSOR_MIPS_IV,Q_PROCESSOR_MIPS_V,Q_PROCESSOR_MIPS_32, 和Q_PROCESSOR_MIPS_64

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_MIPS_32

如果应用程序是为 MIPS32 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_32 时,也会定义Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_IQ_PROCESSOR_MIPS_II 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_MIPS_64

如果应用程序是为 MIPS64 处理器编译的,则定义该宏。定义 Q_PROCESSOR_MIPS_64 时,还将定义Q_PROCESSOR_MIPS,Q_PROCESSOR_MIPS_I,Q_PROCESSOR_MIPS_II,Q_PROCESSOR_MIPS_III,Q_PROCESSOR_MIPS_IVQ_PROCESSOR_MIPS_V 宏。

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_MIPS_I

如果应用程序是为 MIPS-I 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_I 时,也会定义Q_PROCESSOR_MIPS 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_MIPS_II

如果应用程序是为 MIPS-II 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_II 时,也会定义Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_I 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_MIPS_III

如果应用程序是为 MIPS-III 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_III 时,也会定义Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_IQ_PROCESSOR_MIPS_II 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_MIPS_IV

如果应用程序是为 MIPS-IV 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_IV 时,也会定义Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_IQ_PROCESSOR_MIPS_IIQ_PROCESSOR_MIPS_III 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_MIPS_V

如果应用程序是为 MIPS-V 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_MIPS_V 时,也会定义Q_PROCESSOR_MIPS,Q_PROCESSOR_MIPS_I,Q_PROCESSOR_MIPS_II,Q_PROCESSOR_MIPS_IIIQ_PROCESSOR_MIPS_IV 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_POWER

如果应用程序是为 POWER 处理器编译的,则定义该值。Qt XML 目前支持两种 Power 变体:Q_PROCESSOR_POWER_32Q_PROCESSOR_POWER_64

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_POWER_32

如果应用程序是为 32 位 Power 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_POWER_32 时,也会定义Q_PROCESSOR_POWER 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_POWER_64

如果应用程序是为 64 位 Power 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_POWER_64 时,也会定义Q_PROCESSOR_POWER 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_RISCV

如果应用程序是为 RISC-V 处理器编译的,则定义该值。Qt XML 目前支持两种 RISC-V 变体:Q_PROCESSOR_RISCV_32Q_PROCESSOR_RISCV_64

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_RISCV_32

如果应用程序是为 32 位 RISC-V 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_RISCV_32 时,也会定义Q_PROCESSOR_RISCV 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_RISCV_64

如果应用程序是为 64 位 RISC-V 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_RISCV_64 时,也会定义Q_PROCESSOR_RISCV 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_S390_X

如果应用程序是为 S/390x 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_S390_X 时,也会定义Q_PROCESSOR_S390 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_SH

如果应用程序是针对 SuperH 处理器编译的,则对其进行定义。Qt XML 目前支持一个 SuperH 版本:Q_PROCESSOR_SH_4A

另请参见 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_SH_4A

如果应用程序是为 SuperH 4A 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_SH_4A 时,也会定义Q_PROCESSOR_SH 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_SPARC

如果应用程序是为 SPARC 处理器编译的,则定义该值。Qt XML 目前支持一个可选的 SPARC 版本:Q_PROCESSOR_SPARC_V9

另请参阅 QSysInfo::buildCpuArchitecture() 。

Q_PROCESSOR_SPARC_V9

如果应用程序是为 SPARC V9 处理器编译的,则定义该宏。当定义 Q_PROCESSOR_SPARC_V9 时,也会定义Q_PROCESSOR_SPARC 宏。

另请参阅 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_X86_32

如果应用程序是为 32 位 x86 处理器编译的,则定义该参数。这包括所有 i386、i486、i586 和 i686 处理器。当定义 Q_PROCESSOR_X86_32 时,也会定义Q_PROCESSOR_X86 宏。

另请参见 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_X86_64

如果应用程序是为 64 位 x86 处理器编译的,则对其进行定义。这包括所有 AMD64、Intel 64 和其他 x86_64/x64 处理器。当定义 Q_PROCESSOR_X86_64 时,也会定义Q_PROCESSOR_X86 宏。

另请参见 QSysInfo::buildCpuArchitecture().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.