<QtProcessorDetection> - Architecture-specific Macro Definitions
Die <QtProcessorDetection>-Header-Datei enthält verschiedene architekturspezifische Makros. Mehr...
Header: | #include <QtProcessorDetection> |
Makros
Detaillierte Beschreibung
Die <QtProcessorDetection> Header-Datei deklariert eine Reihe von Makros (Q_PROCESSOR_*), die definiert werden, wenn die Anwendung für bestimmte Prozessorarchitekturen kompiliert wird. Zum Beispiel ist das Q_PROCESSOR_X86 Makro definiert, wenn die Anwendung für x86 Prozessoren kompiliert wurde.
Der Zweck dieser Makros ist es, Programmierern die Möglichkeit zu geben, architekturspezifischen Code zu ihrer Anwendung hinzuzufügen.
Makro-Dokumentation
QT_POINTER_SIZE
Erweitert auf die Größe eines Zeigers in Bytes (4 oder 8). Dies ist äquivalent zu sizeof(void *)
, kann aber in einer Präprozessoranweisung verwendet werden.
Q_BIG_ENDIAN
Dieses Makro stellt einen Wert dar, den Sie mit dem Makro Q_BYTE_ORDER vergleichen können, um die Endian-Eigenschaft Ihres Systems zu bestimmen. In einem Big-Endian-System wird das höchstwertige Byte an der niedrigsten Adresse gespeichert. Die anderen Bytes folgen in abnehmender Reihenfolge ihrer Bedeutung.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN ... #endif
Siehe auch Q_BYTE_ORDER und Q_LITTLE_ENDIAN.
Q_BYTE_ORDER
Dieses Makro kann verwendet werden, um die Byte-Reihenfolge zu bestimmen, die Ihr System zum Speichern von Daten im Speicher verwendet, d.h. ob Ihr System Little-Endian oder Big-Endian ist. Es wird von Qt auf eines der Makros Q_LITTLE_ENDIAN oder Q_BIG_ENDIAN gesetzt. Normalerweise müssen Sie sich nicht um die Endian-Reihenfolge kümmern, aber Sie könnten es, wenn Sie zum Beispiel wissen müssen, welches Byte einer Ganzzahl oder eines UTF-16-Zeichens in der niedrigsten Adresse gespeichert ist. Endian-ness ist wichtig in Netzwerken, wo Computer mit unterschiedlichen Werten für Q_BYTE_ORDER Daten hin- und herschicken müssen.
Verwenden Sie dieses Makro wie in den folgenden Beispielen.
#if Q_BYTE_ORDER == Q_BIG_ENDIAN ... #endif or #if Q_BYTE_ORDER == Q_LITTLE_ENDIAN ... #endif
Siehe auch Q_BIG_ENDIAN und Q_LITTLE_ENDIAN.
Q_LITTLE_ENDIAN
Dieses Makro stellt einen Wert dar, den Sie mit dem Makro Q_BYTE_ORDER vergleichen können, um die Endian-Eigenschaft Ihres Systems zu bestimmen. In einem Little-Endian-System wird das niederwertigste Byte an der niedrigsten Adresse gespeichert. Die anderen Bytes folgen in aufsteigender Reihenfolge ihrer Bedeutung.
#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN ... #endif
Siehe auch Q_BYTE_ORDER und Q_BIG_ENDIAN.
Q_PROCESSOR_X86
Definiert, ob die Anwendung für x86-Prozessoren kompiliert ist. Qt unterstützt derzeit zwei x86-Varianten: Q_PROCESSOR_X86_32 und Q_PROCESSOR_X86_64.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_S390
Definiert, wenn die Anwendung für S/390-Prozessoren kompiliert wird. Qt unterstützt eine optionale Variante von S/390: Q_PROCESSOR_S390_X.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ALPHA
Definiert, wenn die Anwendung für Alpha-Prozessoren kompiliert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM
Definiert, ob die Anwendung für ARM-Prozessoren kompiliert ist. Qt unterstützt derzeit drei optionale ARM-Revisionen: Q_PROCESSOR_ARM_V5, Q_PROCESSOR_ARM_V6, und Q_PROCESSOR_ARM_V7.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V5
Definiert, wenn die Anwendung für ARMv5-Prozessoren kompiliert ist. Das Makro Q_PROCESSOR_ARM ist auch definiert, wenn Q_PROCESSOR_ARM_V5 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V6
Definiert, wenn die Anwendung für ARMv6-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_ARM und Q_PROCESSOR_ARM_V5 sind auch definiert, wenn Q_PROCESSOR_ARM_V6 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_ARM_V7
Definiert, wenn die Anwendung für ARMv7-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_ARM, Q_PROCESSOR_ARM_V5 und Q_PROCESSOR_ARM_V6 sind auch definiert, wenn Q_PROCESSOR_ARM_V7 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_AVR32
Definiert, wenn die Anwendung für AVR32-Prozessoren kompiliert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_BLACKFIN
Definiert, wenn die Anwendung für Blackfin-Prozessoren kompiliert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_HPPA
Definiert, wenn die Anwendung für PA-RISC-Prozessoren kompiliert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_IA64
Definiert, wenn die Anwendung für IA-64-Prozessoren kompiliert wurde. Dies schließt alle Itanium- und Itanium-2-Prozessoren ein.
Siehe auch QSysInfo::buildCpuArchitecture().
[since 6.5]
Q_PROCESSOR_LOONGARCH
Definiert, wenn die Anwendung für LoongArch-Prozessoren kompiliert ist.
Dieses Makro wurde in Qt 6.5 eingeführt.
Siehe auch QSysInfo::buildCpuArchitecture().
[since 6.5]
Q_PROCESSOR_LOONGARCH_32
Definiert, wenn die Anwendung für 32-Bit LoongArch-Prozessoren kompiliert wurde. Das Q_PROCESSOR_LOONGARCH Makro ist auch definiert, wenn Q_PROCESSOR_LOONGARCH_32 definiert ist.
Dieses Makro wurde in Qt 6.5 eingeführt.
Siehe auch QSysInfo::buildCpuArchitecture().
[since 6.5]
Q_PROCESSOR_LOONGARCH_64
Definiert, wenn die Anwendung für 64-Bit LoongArch-Prozessoren kompiliert wurde. Das Q_PROCESSOR_LOONGARCH Makro ist auch definiert, wenn Q_PROCESSOR_LOONGARCH_64 definiert ist.
Dieses Makro wurde in Qt 6.5 eingeführt.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_M68K
Definiert, wenn die Anwendung für Motorola 68000-Prozessoren kompiliert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS
Definiert, ob die Anwendung für MIPS-Prozessoren kompiliert ist. Qt unterstützt derzeit sieben MIPS-Revisionen: Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II, Q_PROCESSOR_MIPS_III, Q_PROCESSOR_MIPS_IV, Q_PROCESSOR_MIPS_V, Q_PROCESSOR_MIPS_32, und Q_PROCESSOR_MIPS_64.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_32
Definiert, wenn die Anwendung für MIPS32-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I und Q_PROCESSOR_MIPS_II sind auch definiert, wenn Q_PROCESSOR_MIPS_32 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_64
Definiert, wenn die Anwendung für MIPS64-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II, Q_PROCESSOR_MIPS_III, Q_PROCESSOR_MIPS_IV und Q_PROCESSOR_MIPS_V sind auch definiert, wenn Q_PROCESSOR_MIPS_64 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_I
Definiert, wenn die Anwendung für MIPS-I-Prozessoren kompiliert ist. Das Makro Q_PROCESSOR_MIPS ist auch definiert, wenn Q_PROCESSOR_MIPS_I definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_II
Definiert, wenn die Anwendung für MIPS-II-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS und Q_PROCESSOR_MIPS_I sind auch definiert, wenn Q_PROCESSOR_MIPS_II definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_III
Definiert, wenn die Anwendung für MIPS-III-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I und Q_PROCESSOR_MIPS_II sind auch definiert, wenn Q_PROCESSOR_MIPS_III definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_IV
Definiert, wenn die Anwendung für MIPS-IV-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II und Q_PROCESSOR_MIPS_III sind ebenfalls definiert, wenn Q_PROCESSOR_MIPS_IV definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_MIPS_V
Definiert, wenn die Anwendung für MIPS-V-Prozessoren kompiliert ist. Die Makros Q_PROCESSOR_MIPS, Q_PROCESSOR_MIPS_I, Q_PROCESSOR_MIPS_II, Q_PROCESSOR_MIPS_III und Q_PROCESSOR_MIPS_IV sind ebenfalls definiert, wenn Q_PROCESSOR_MIPS_V definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER
Definiert, ob die Anwendung für POWER-Prozessoren kompiliert ist. Qt unterstützt derzeit zwei Power-Varianten: Q_PROCESSOR_POWER_32 und Q_PROCESSOR_POWER_64.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER_32
Definiert, wenn die Anwendung für 32-Bit-Power-Prozessoren kompiliert wurde. Das Makro Q_PROCESSOR_POWER ist auch definiert, wenn Q_PROCESSOR_POWER_32 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_POWER_64
Definiert, wenn die Anwendung für 64-Bit-Power-Prozessoren kompiliert ist. Das Makro Q_PROCESSOR_POWER ist auch definiert, wenn Q_PROCESSOR_POWER_64 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV
Definiert, ob die Anwendung für RISC-V-Prozessoren kompiliert ist. Qt unterstützt derzeit zwei RISC-V-Varianten: Q_PROCESSOR_RISCV_32 und Q_PROCESSOR_RISCV_64.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV_32
Definiert, wenn die Anwendung für 32-Bit-RISC-V-Prozessoren kompiliert ist. Das Makro Q_PROCESSOR_RISCV ist auch definiert, wenn Q_PROCESSOR_RISCV_32 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_RISCV_64
Definiert, wenn die Anwendung für 64-Bit-RISC-V-Prozessoren kompiliert ist. Das Makro Q_PROCESSOR_RISCV ist auch definiert, wenn Q_PROCESSOR_RISCV_64 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_S390_X
Definiert, wenn die Anwendung für S/390x-Prozessoren kompiliert ist. Das Q_PROCESSOR_S390 Makro ist auch definiert, wenn Q_PROCESSOR_S390_X definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SH
Definiert, ob die Anwendung für SuperH-Prozessoren kompiliert ist. Qt unterstützt derzeit eine SuperH Revision: Q_PROCESSOR_SH_4A.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SH_4A
Definiert, wenn die Anwendung für SuperH 4A Prozessoren kompiliert wurde. Das Q_PROCESSOR_SH Makro ist auch definiert, wenn Q_PROCESSOR_SH_4A definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SPARC
Definiert, wenn die Anwendung für SPARC-Prozessoren kompiliert ist. Qt unterstützt derzeit eine optionale SPARC-Revision: Q_PROCESSOR_SPARC_V9.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_SPARC_V9
Definiert, wenn die Anwendung für SPARC V9 Prozessoren kompiliert wurde. Das Q_PROCESSOR_SPARC Makro ist auch definiert, wenn Q_PROCESSOR_SPARC_V9 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_32
Definiert, wenn die Anwendung für 32-Bit-x86-Prozessoren kompiliert wurde. Dies schließt alle i386-, i486-, i586- und i686-Prozessoren ein. Das Makro Q_PROCESSOR_X86 ist auch definiert, wenn Q_PROCESSOR_X86_32 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
Q_PROCESSOR_X86_64
Definiert, ob die Anwendung für 64-Bit-x86-Prozessoren kompiliert ist. Dies schließt alle AMD64, Intel 64 und andere x86_64/x64 Prozessoren ein. Das Makro Q_PROCESSOR_X86 ist auch definiert, wenn Q_PROCESSOR_X86_64 definiert ist.
Siehe auch QSysInfo::buildCpuArchitecture().
© 2025 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.