<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_ORDER 和Q_LITTLE_ENDIAN 。
Q_BYTE_ORDER
该宏可用于确定系统在内存中存储数据时采用的字节序,即系统是小端序还是大端序。Qt XML 会将其设置为以下宏之一:Q_LITTLE_ENDIAN 或Q_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_ENDIAN 和Q_LITTLE_ENDIAN 。
Q_LITTLE_ENDIAN
该宏表示一个值,您可以将其与宏Q_BYTE_ORDER 进行比较,以确定系统的字节序。在小端字节序系统中,最低有效字节存储在最低地址处。其余字节按重要性递增的顺序依次排列。
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
//...
#endif另请参阅 Q_BYTE_ORDER 和Q_BIG_ENDIAN 。
Q_PROCESSOR_X86
当应用程序针对 x86 处理器进行编译时,该宏会被定义。Qt 目前支持两种 x86 变体:Q_PROCESSOR_X86_32 和Q_PROCESSOR_X86_64 。
另请参阅 QSysInfo::buildCpuArchitecture()。
Q_PROCESSOR_S390
如果应用程序是为 S/390 处理器编译的,则此选项被定义。Qt 支持一种可选的 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_ARM 和Q_PROCESSOR_ARM_V5 宏也会被定义。
另请参阅 QSysInfo::buildCpuArchitecture()。
Q_PROCESSOR_ARM_V7
当应用程序针对 ARMv7 处理器进行编译时,该宏会被定义。当定义了 Q_PROCESSOR_ARM_V7 时,Q_PROCESSOR_ARM 、Q_PROCESSOR_ARM_V5 和Q_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 处理器编译的,则定义此选项。这包括所有 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_MIPS 、Q_PROCESSOR_MIPS_I 和Q_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_IV 和Q_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_MIPS 和Q_PROCESSOR_MIPS_I 宏也会被定义。
另请参阅 QSysInfo::buildCpuArchitecture()。
Q_PROCESSOR_MIPS_III
当应用程序针对 MIPS-III 处理器进行编译时,该宏会被定义。当定义了 Q_PROCESSOR_MIPS_III 时,Q_PROCESSOR_MIPS 、Q_PROCESSOR_MIPS_I 和Q_PROCESSOR_MIPS_II 这三个宏也会被定义。
另请参阅 QSysInfo::buildCpuArchitecture()。
Q_PROCESSOR_MIPS_IV
当应用程序针对 MIPS-IV 处理器进行编译时,该宏会被定义。当定义了 Q_PROCESSOR_MIPS_IV 时,Q_PROCESSOR_MIPS 、Q_PROCESSOR_MIPS_I 、Q_PROCESSOR_MIPS_II 和Q_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_III 和Q_PROCESSOR_MIPS_IV 这些宏也会被定义。
另请参阅 QSysInfo::buildCpuArchitecture()。
Q_PROCESSOR_POWER
当应用程序针对 POWER 处理器进行编译时,该选项会被定义。Qt 目前支持两种 Power 变体:Q_PROCESSOR_POWER_32 和Q_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 目前支持两种 RISC-V 变体:Q_PROCESSOR_RISCV_32 和Q_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 目前支持一个 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 目前支持一种可选的 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()。
© 2026 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.