API と ABI のバージョニング¶
PY_VERSION_HEX は、Python のバージョン番号を単一の整数に符号化したものです。
例えば、PY_VERSION_HEX に 0x030401a2 が設定されていれば、その値を下記のように32ビットの値として扱うことで、バージョン情報を得ることができます:
bytes ビット (ビッグエンディアンオーダ) 意味 11-8PY_MAJOR_VERSION(3.4.1a2中の3)29-16PY_MINOR_VERSION(3.4.1a2中の4)317-24PY_MICRO_VERSION(3.4.1a2中の1)425-28PY_RELEASE_LEVEL(アルファ版では0xA、ベータ版では0xB、リリース候補版では0xC、そして最終版は0xF)、この例ではアルファ版を意味しています。29-32PY_RELEASE_SERIAL(3.4.1a2中の2、最終リリースでは 0)
従って、3.4.1a2 は hexversionで 0x030401a2 です。
これらのマクロは Include/patchlevel.h で定義されています。
