<QtProcessorDetection> - Architecture-specific Macro Definitions

<QtProcessorDetection> ヘッダーファイルには、様々なアーキテクチャ固有のマクロが含まれています。詳細...

Header: #include <QtProcessorDetection>

マクロ

詳しい説明

<QtProcessorDetection> ヘッダーファイルは、アプリケーションが指定されたプロセッサアーキテクチャ用にコンパイルされた場合に定義されるマクロ (Q_PROCESSOR_*) を宣言しています。例えば、Q_PROCESSOR_X86 マクロは、アプリケーションが x86 プロセッサ用にコンパイルされている場合に定義されます。

これらのマクロの目的は、プログラマーがアプリケーションにアーキテク チャー固有のコードを追加できるようにすることです。

マクロ・ドキュメント

QT_POINTER_SIZE

ポインタのサイズをバイト数(4または8)に拡張する。これはsizeof(void *) と同等ですが、プリプロセッサ・ディレクティブで使用できます。

Q_BIG_ENDIAN

このマクロは、Q_BYTE_ORDER マクロと比較することで、システムのエンディアン性を判断できる値を表す。ビッグエンディアン・システムでは、最上位バイトが最下位アドレスに格納される。他のバイトは重要度の低い順に続く。

#if Q_BYTE_ORDER == Q_BIG_ENDIAN
...
#endif

Q_BYTE_ORDER およびQ_LITTLE_ENDIANも参照のこと

Q_BYTE_ORDER

このマクロは、システムがメモリにデータを格納する際に使用するバイト順を決定するために使用できます。つまり、システムがリトルエンディアンかビッグエンディアンかを決定します。Q_LITTLE_ENDIAN Q_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_ENDIAN およびQ_LITTLE_ENDIANも参照のこと

Q_LITTLE_ENDIAN

このマクロは、Q_BYTE_ORDER と比較することで、システムのエンディアン性を判断できる値を表す。リトルエンディアン・システムでは、最下位バイトが最下位アドレスに格納される。他のバイトは重要度の高い順に続く。

#if Q_BYTE_ORDER == Q_LITTLE_ENDIAN
...
#endif

Q_BYTE_ORDER およびQ_BIG_ENDIANも参照のこと

Q_PROCESSOR_X86

アプリケーションが x86 プロセッサ用にコンパイルされている場合に定義されます。Qt は現在、Q_PROCESSOR_X86_32Q_PROCESSOR_X86_64 の 2 種類の x86 をサポートしています。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_S390

アプリケーションが S/390 プロセッサ用にコンパイルされている場合に定義されます。QtはS/390の1つのオプション変種をサポートしています:Q_PROCESSOR_S390_X

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_ALPHA

アプリケーションが Alpha プロセッサ用にコンパイルされている場合に定義される。

QSysInfo::buildCpuArchitecture()も参照のこと

Q_PROCESSOR_ARM

アプリケーションが ARM プロセッサ用にコンパイルされている場合に定義されます。Qt は現在、3つの ARM リビジョンをサポートしています:Q_PROCESSOR_ARM_V5 Q_PROCESSOR_ARM_V6Q_PROCESSOR_ARM_V7 です。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_ARM_V5

アプリケーションがARMv5プロセッサ用にコンパイルされている場合に定義される。Q_PROCESSOR_ARM_V5が定義されている場合、Q_PROCESSOR_ARM マクロも定義されます。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_ARM_V6

アプリケーションが ARMv6 プロセッサ用にコンパイルされている場合に定義されます。Q_PROCESSOR_ARM_V6 が定義されている場合、Q_PROCESSOR_ARMQ_PROCESSOR_ARM_V5 マクロも定義されます。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_ARM_V7

アプリケーションが ARMv7 プロセッサ用にコンパイルされている場合に定義されます。Q_PROCESSOR_ARM_V7 が定義されている場合、Q_PROCESSOR_ARMQ_PROCESSOR_ARM_V5Q_PROCESSOR_ARM_V6 マクロも定義されます。

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_32

アプリケーションが32ビットLoongArchプロセッサ用にコンパイルされている場合に定義される。Q_PROCESSOR_LOONGARCH_32 が定義されている場合、Q_PROCESSOR_LOONGARCH マクロも定義されます。

このマクロはQt 6.5で導入されました。

QSysInfo::buildCpuArchitecture()も参照してください

[since 6.5] Q_PROCESSOR_LOONGARCH_64

アプリケーションが64ビットLoongArchプロセッサ用にコンパイルされている場合に定義される。Q_PROCESSOR_LOONGARCH_64 が定義されている場合、Q_PROCESSOR_LOONGARCH マクロも定義されます。

このマクロはQt 6.5で導入されました。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_M68K

アプリケーションがモトローラ 68000 プロセッサ用にコンパイルされている場合に定義される。

QSysInfo::buildCpuArchitecture()も参照

Q_PROCESSOR_MIPS

アプリケーションが MIPS プロセッサ用にコンパイルされている場合に定義されます。Qtは現在、7つのMIPSリビジョンをサポートしています:Q_PROCESSOR_MIPS_I Q_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_MIPSQ_PROCESSOR_MIPS_IQ_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_IV,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_MIPSQ_PROCESSOR_MIPS_I マクロも定義されます。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_MIPS_III

アプリケーションが MIPS-III プロセッサ用にコンパイルされている場合に定義されます。Q_PROCESSOR_MIPS_III が定義されている場合、Q_PROCESSOR_MIPSQ_PROCESSOR_MIPS_IQ_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_V が定義されている場合、Q_PROCESSOR_MIPS,Q_PROCESSOR_MIPS_I,Q_PROCESSOR_MIPS_II,Q_PROCESSOR_MIPS_III,Q_PROCESSOR_MIPS_IV マクロも定義される。

QSysInfo::buildCpuArchitecture()も参照

Q_PROCESSOR_POWER

アプリケーションが POWER プロセッサ用にコンパイルされている場合に定義されます。Qt は現在、Q_PROCESSOR_POWER_32Q_PROCESSOR_POWER_64 の 2 種類の POWER をサポートしています。

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 は現在、Q_PROCESSOR_RISCV_32Q_PROCESSOR_RISCV_64 の 2 種類の RISC-V をサポートしています。

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 マクロは Q_PROCESSOR_S390_X が定義されているときにも定義されます。

QSysInfo::buildCpuArchitecture()も参照してください

Q_PROCESSOR_SH

アプリケーションが SuperH プロセッサ用にコンパイルされている場合に定義されます。Qt は現在 1 つの 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 は現在、1つの 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()も参照のこと

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