<QtProcessorDetection> - Architecture-specific Macro Definitions
Le fichier d'en-tête <QtProcessorDetection> contient diverses macros spécifiques à l'architecture. En savoir plus...
| Header: | #include <QtProcessorDetection> |
Macros
Description détaillée
Le fichier d'en-tête <QtProcessorDetection> déclare une série de macros (Q_PROCESSOR_*) qui sont définies si l'application est compilée pour des architectures de processeur spécifiques. Par exemple, la macro Q_PROCESSOR_X86 est définie si l'application est compilée pour les processeurs x86.
Ces macros ont pour but de permettre aux programmeurs d’ajouter du code spécifique à une architecture à leur application.
Documentation sur les macros
QT_POINTER_SIZE
S'étend à la taille d'un pointeur en octets (4 ou 8). Cela équivaut à ` sizeof(void *) `, mais peut être utilisé dans une directive du préprocesseur.
Q_BIG_ENDIAN
Cette macro représente une valeur que vous pouvez comparer à la macro ` Q_BYTE_ORDER ` pour déterminer l'endianité de votre système. Dans un système « big-endian », l'octet le plus significatif est stocké à l'adresse la plus basse. Les autres octets suivent par ordre décroissant d'importance.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
//...
#endifVoir également Q_BYTE_ORDER et Q_LITTLE_ENDIAN.
Q_BYTE_ORDER
Cette macro permet de déterminer l'ordre des octets utilisé par votre système pour stocker les données en mémoire, c'est-à-dire s'il s'agit d'un système « little-endian » ou « big-endian ». Elle est définie par Qt XML sur l'une des macros suivantes : Q_LITTLE_ENDIAN ou Q_BIG_ENDIAN. En règle générale, vous n’avez pas à vous soucier de l’endianité, mais cela peut s’avérer nécessaire, par exemple si vous avez besoin de savoir quel octet d’un entier ou d’un caractère UTF-16 est stocké à l’adresse la plus basse. L’endianité est importante en réseau, où des ordinateurs ayant des valeurs différentes pour Q_BYTE_ORDER doivent échanger des données.
Utilisez cette macro comme dans les exemples suivants.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN
//...
#endif
//or
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
//...
#endifVoir également Q_BIG_ENDIAN et Q_LITTLE_ENDIAN.
Q_LITTLE_ENDIAN
Cette macro représente une valeur que vous pouvez comparer à la macro ` Q_BYTE_ORDER ` pour déterminer l'endianité de votre système. Dans un système « little-endian », l'octet le moins significatif est stocké à l'adresse la plus basse. Les autres octets suivent par ordre croissant d'importance.
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
//...
#endifVoir également Q_BYTE_ORDER et Q_BIG_ENDIAN.
Q_PROCESSOR_X86
Définie si l'application est compilée pour les processeurs x86. Qt prend actuellement en charge deux variantes x86 : Q_PROCESSOR_X86_32 et Q_PROCESSOR_X86_64.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_S390
Défini si l'application est compilée pour les processeurs S/390. Qt prend en charge une variante facultative de S/390 : Q_PROCESSOR_S390_X.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ALPHA
Défini si l'application est compilée pour les processeurs Alpha.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM
Définie si l'application est compilée pour les processeurs ARM. Qt prend actuellement en charge trois versions ARM facultatives : Q_PROCESSOR_ARM_V5, Q_PROCESSOR_ARM_V6 et Q_PROCESSOR_ARM_V7.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V5
Définie si l'application est compilée pour les processeurs ARMv5. La macro Q_PROCESSOR_ARM est également définie lorsque Q_PROCESSOR_ARM_V5 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V6
Définie si l'application est compilée pour les processeurs ARMv6. Les macros ` Q_PROCESSOR_ARM ` et ` Q_PROCESSOR_ARM_V5 ` sont également définies lorsque `Q_PROCESSOR_ARM_V6` est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V7
Définie si l'application est compilée pour les processeurs ARMv7. Les macros Q_PROCESSOR_ARM, Q_PROCESSOR_ARM_V5 et Q_PROCESSOR_ARM_V6 sont également définies lorsque Q_PROCESSOR_ARM_V7 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_AVR32
Défini si l'application est compilée pour les processeurs AVR32.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_BLACKFIN
Définie si l'application est compilée pour les processeurs Blackfin.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_HPPA
Défini si l'application est compilée pour les processeurs PA-RISC.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_IA64
Cette variable est définie si l'application est compilée pour les processeurs IA-64. Cela inclut tous les processeurs Itanium et Itanium 2.
Voir également QSysInfo::buildCpuArchitecture().
[since 6.5] Q_PROCESSOR_LOONGARCH
Définie si l'application est compilée pour les processeurs LoongArch.
Cette macro a été introduite dans Qt 6.5.
Voir également QSysInfo::buildCpuArchitecture().
[since 6.5] Q_PROCESSOR_LOONGARCH_32
Définie si l'application est compilée pour des processeurs LoongArch 32 bits. La macro ` Q_PROCESSOR_LOONGARCH ` est également définie lorsque `Q_PROCESSOR_LOONGARCH_32` est définie.
Cette macro a été introduite dans Qt 6.5.
Voir également QSysInfo::buildCpuArchitecture().
[since 6.5] Q_PROCESSOR_LOONGARCH_64
Définie si l'application est compilée pour des processeurs LoongArch 64 bits. La macro ` Q_PROCESSOR_LOONGARCH ` est également définie lorsque `Q_PROCESSOR_LOONGARCH_64` est définie.
Cette macro a été introduite dans Qt 6.5.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_M68K
Définie si l'application est compilée pour les processeurs Motorola 68000.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS
Défini si l'application est compilée pour des processeurs MIPS. Qt prend actuellement en charge sept versions de 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 et Q_PROCESSOR_MIPS_64.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_32
Définie si l'application est compilée pour les processeurs MIPS32. Les macros ` Q_PROCESSOR_MIPS`, ` Q_PROCESSOR_MIPS_I` et ` Q_PROCESSOR_MIPS_II ` sont également définies lorsque `Q_PROCESSOR_MIPS_32` est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_64
Définie si l'application est compilée pour les processeurs MIPS64. Les macros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II, Q_PROCESSOR_MIPS_III, Q_PROCESSOR_MIPS_IV et Q_PROCESSOR_MIPS_V sont également définies lorsque Q_PROCESSOR_MIPS_64 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_I
Définie si l'application est compilée pour les processeurs MIPS-I. La macro Q_PROCESSOR_MIPS est également définie lorsque Q_PROCESSOR_MIPS_I est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_II
Définie si l'application est compilée pour les processeurs MIPS-II. Les macros Q_PROCESSOR_MIPS et Q_PROCESSOR_MIPS_I sont également définies lorsque Q_PROCESSOR_MIPS_II est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_III
Définie si l'application est compilée pour les processeurs MIPS-III. Les macros ` Q_PROCESSOR_MIPS`, ` Q_PROCESSOR_MIPS_I` et ` Q_PROCESSOR_MIPS_II ` sont également définies lorsque `Q_PROCESSOR_MIPS_III` est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_IV
Définie si l'application est compilée pour les processeurs MIPS-IV. Les macros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II et Q_PROCESSOR_MIPS_III sont également définies lorsque Q_PROCESSOR_MIPS_IV est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_V
Définie si l'application est compilée pour les processeurs MIPS-V. Les macros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II, Q_PROCESSOR_MIPS_III et Q_PROCESSOR_MIPS_IV sont également définies lorsque Q_PROCESSOR_MIPS_V est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER
Défini si l'application est compilée pour les processeurs POWER. Qt prend actuellement en charge deux variantes Power : Q_PROCESSOR_POWER_32 et Q_PROCESSOR_POWER_64.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER_32
Définie si l'application est compilée pour des processeurs Power 32 bits. La macro Q_PROCESSOR_POWER est également définie lorsque Q_PROCESSOR_POWER_32 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER_64
Définie si l'application est compilée pour des processeurs Power 64 bits. La macro Q_PROCESSOR_POWER est également définie lorsque Q_PROCESSOR_POWER_64 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV
Définie si l'application est compilée pour les processeurs RISC-V. Qt prend actuellement en charge deux variantes de RISC-V : Q_PROCESSOR_RISCV_32 et Q_PROCESSOR_RISCV_64.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV_32
Définie si l'application est compilée pour des processeurs RISC-V 32 bits. La macro ` Q_PROCESSOR_RISCV ` est également définie lorsque la macro `Q_PROCESSOR_RISCV_32` est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV_64
Définie si l'application est compilée pour des processeurs RISC-V 64 bits. La macro Q_PROCESSOR_RISCV est également définie lorsque Q_PROCESSOR_RISCV_64 est définie.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_S390_X
Définie si l'application est compilée pour les processeurs S/390x. La macro Q_PROCESSOR_S390 est également définie lorsque Q_PROCESSOR_S390_X est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SH
Défini si l'application est compilée pour les processeurs SuperH. Qt prend actuellement en charge une seule version de SuperH : Q_PROCESSOR_SH_4A.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SH_4A
Définie si l'application est compilée pour les processeurs SuperH 4A. La macro Q_PROCESSOR_SH est également définie lorsque Q_PROCESSOR_SH_4A est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SPARC
Défini si l'application est compilée pour les processeurs SPARC. Qt prend actuellement en charge une version SPARC facultative : Q_PROCESSOR_SPARC_V9.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SPARC_V9
Définie si l'application est compilée pour les processeurs SPARC V9. La macro Q_PROCESSOR_SPARC est également définie lorsque Q_PROCESSOR_SPARC_V9 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_32
Cette macro est définie si l'application est compilée pour des processeurs x86 32 bits. Cela inclut tous les processeurs i386, i486, i586 et i686. La macro Q_PROCESSOR_X86 est également définie lorsque Q_PROCESSOR_X86_32 est définie.
Voir également QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_64
Cette macro est définie si l'application est compilée pour des processeurs x86 64 bits. Cela inclut tous les processeurs AMD64, Intel 64 et autres processeurs x86_64/x64. La macro Q_PROCESSOR_X86 est également définie lorsque Q_PROCESSOR_X86_64 est définie.
Voir également 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.