<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.