<QtProcessorDetection> - 架构特定的宏定义

<QtProcessorDetection> 头文件包含各种与特定架构相关的宏。更多信息...

头文件 #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 将将其设置为宏 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当前支持两种x86变体: Q_PROCESSOR_X86_32Q_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_V5Q_PROCESSOR_ARM_V6Q_PROCESSOR_ARM_R7

参阅以下内容 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_ARM_R5

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

参阅以下内容 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_ARM_R6

如果应用程序是为ARMv6处理器编译的,则定义。当定义了Q_PROCESSOR_ARM_R6时,也会定义 Q_PROCESSOR_ARMQ_PROCESSOR_ARM_R5 宏。

参阅以下内容 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_ARM_R7

如果应用程序是为ARMv7处理器编译的,则定义。当定义了Q_PROCESSOR_ARM_R7时,也会定义 Q_PROCESSOR_ARMQ_PROCESSOR_ARM_R5Q_PROCESSOR_ARM_R6 宏。

参阅以下内容 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_R2

定义了如果应用程序是为32位龙架构处理器编译的。当定义了Q_PROCESSOR_LOONGARCH_32时,也会定义Q_PROCESSOR_LOONGARCH宏。

此宏是在Qt 6.5中引入的。

参阅以下内容 QSysInfo::buildCpuArchitecture().

[自6.5以来] Q_PROCESSOR_LOONGARCH_64

定义了如果应用程序是为64位龙架构处理器编译的。当定义了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_IQ_PROCESSOR_MIPS_IIQ_PROCESSOR_MIPS_IIIQ_PROCESSOR_MIPS_IVQ_PROCESSOR_MIPS_VQ_PROCESSOR_MIPS_32Q_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_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 时,也定义了宏 Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_IQ_PROCESSOR_MIPS_IIQ_PROCESSOR_MIPS_IIIQ_PROCESSOR_MIPS_IV

参阅以下内容 QSysInfo::buildCpuArchitecture().

Q_PROCESSOR_POWER

当应用程序针对 POWER 处理器编译时定义。Qt 目前支持两种 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 目前支持两种 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 目前只支持一个 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().

© 2024 The Qt Company Ltd. 本文档中的文档贡献为其各自所有者的版权。本提供的文档根据由自由软件基金会发布的GNU自由文档许可版本1.3许可。Qt及其 respective商标是芬兰及其他全球国家的商标,归The Qt Company Ltd.所有。所有其他商标均为其各自所有者的财产。