<QtProcessorDetection> - Architecture-specific Macro Definitions
Le fichier d'en-tête <QtProcessorDetection> comprend diverses macros spécifiques à l'architecture. 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 les architectures de processeurs spécifiées. Par exemple, la macro Q_PROCESSOR_X86 est définie si l'application est compilée pour les processeurs x86.
L'objectif de ces macros est de permettre aux programmeurs d'ajouter du code spécifique à l'architecture à leur application.
Documentation sur les macros
QT_POINTER_SIZE
Expansion vers la taille d'un pointeur en octets (4 ou 8). Ceci est équivalent à sizeof(void *) mais peut être utilisé dans une directive de 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 de signification.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN //... #endif
Voir également Q_BYTE_ORDER et Q_LITTLE_ENDIAN.
Q_BYTE_ORDER
Cette macro peut être utilisée pour déterminer l'ordre des octets que votre système utilise pour stocker les données en mémoire, c'est-à-dire si votre système est little-endian ou big-endian. Elle est définie par Qt XML avec l'une des macros Q_LITTLE_ENDIAN ou Q_BIG_ENDIAN. Normalement, vous n'aurez pas besoin de vous préoccuper de l'endianité, mais vous pourriez le faire, 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 dans les réseaux, où des ordinateurs ayant des valeurs différentes pour Q_BYTE_ORDER doivent transmettre des données dans les deux sens.
Utilisez cette macro comme dans les exemples suivants.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN //... #endif //or #if Q_BYTE_ORDER == Q_LITTLE_ENDIAN //... #endif
Voir aussi 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 de signification.
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN //... #endif
Voir également Q_BYTE_ORDER et Q_BIG_ENDIAN.
Q_PROCESSOR_X86
Défini si l'application est compilée pour les processeurs x86. Qt supporte actuellement deux variantes x86 : Q_PROCESSOR_X86_32 et Q_PROCESSOR_X86_64.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_S390
Défini si l'application est compilée pour les processeurs S/390. Qt supporte une variante optionnelle de S/390 : Q_PROCESSOR_S390_X.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ALPHA
Défini si l'application est compilée pour les processeurs Alpha.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM
Défini si l'application est compilée pour les processeurs ARM. Qt prend actuellement en charge trois révisions ARM optionnelles : 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V6
Défini 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éfini.
Voir aussi 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_AVR32
Défini si l'application est compilée pour les processeurs AVR32.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_BLACKFIN
Défini 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 aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_IA64
Défini 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 aussi QSysInfo::buildCpuArchitecture().
[since 6.5] Q_PROCESSOR_LOONGARCH_32
Définie si l'application est compilée pour les processeurs LoongArch 32 bits. La macro Q_PROCESSOR_LOONGARCH est également définie lorsque Q_PROCESSOR_LOONGARCH_32 est défini.
Cette macro a été introduite dans Qt 6.5.
Voir aussi QSysInfo::buildCpuArchitecture().
[since 6.5] Q_PROCESSOR_LOONGARCH_64
Définie si l'application est compilée pour les processeurs LoongArch 64 bits. La macro Q_PROCESSOR_LOONGARCH est également définie lorsque Q_PROCESSOR_LOONGARCH_64 est défini.
Cette macro a été introduite dans Qt 6.5.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_M68K
Défini si l'application est compilée pour les processeurs Motorola 68000.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS
Défini si l'application est compilée pour les processeurs MIPS. Qt prend actuellement en charge sept révisions 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éfini.
Voir aussi 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éfini.
Voir aussi 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éfini.
Voir aussi 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éfini.
Voir aussi 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_IV
Défini 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_V
Défini 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER
Défini si l'application est compilée pour les processeurs POWER. Qt prend actuellement en charge deux variantes de 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 les processeurs Power 32 bits. La macro Q_PROCESSOR_POWER est également définie lorsque Q_PROCESSOR_POWER_32 est défini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER_64
Définie si l'application est compilée pour les processeurs Power 64 bits. La macro Q_PROCESSOR_POWER est également définie lorsque Q_PROCESSOR_POWER_64 est défini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV
Défini si l'application est compilée pour les processeurs RISC-V. Qt prend actuellement en charge deux variantes 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 les processeurs RISC-V 32 bits. La macro Q_PROCESSOR_RISCV est également définie lorsque Q_PROCESSOR_RISCV_32 est défini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV_64
Définie si l'application est compilée pour les processeurs RISC-V 64 bits. La macro Q_PROCESSOR_RISCV est également définie lorsque Q_PROCESSOR_RISCV_64 est défini.
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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SH
Défini si l'application est compilée pour les processeurs SuperH. Qt supporte actuellement une révision 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SPARC
Défini si l'application est compilée pour les processeurs SPARC. Qt supporte actuellement une révision SPARC optionnelle : Q_PROCESSOR_SPARC_V9.
Voir aussi 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_32
Défini si l'application est compilée pour les 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éfini.
Voir aussi QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_64
Défini si l'application est compilée pour les 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éfini.
Voir aussi 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.