API と ABI のバージョニング
***************************

"PY_VERSION_HEX" は、Python のバージョン番号を単一の整数に符号化したも
のです。

例えば、"PY_VERSION_HEX" に "0x030401a2" が設定されていれば、その値を
下記のように32ビットの値として扱うことで、バージョン情報を得ることがで
きます:

   +---------+---------------------------+--------------------------------------------------+
   | bytes   | ビット (ビッグエンディア  | 意味                                             |
   |         | ンオーダ)                 |                                                  |
   |=========|===========================|==================================================|
   | "1"     | "1-8"                     | "PY_MAJOR_VERSION" ("3.4.1a2" 中の "3")          |
   +---------+---------------------------+--------------------------------------------------+
   | "2"     | "9-16"                    | "PY_MINOR_VERSION" ("3.4.1a2" 中の "4")          |
   +---------+---------------------------+--------------------------------------------------+
   | "3"     | "17-24"                   | "PY_MICRO_VERSION" ("3.4.1a2" 中の "1")          |
   +---------+---------------------------+--------------------------------------------------+
   | "4"     | "25-28"                   | "PY_RELEASE_LEVEL"  (アルファ版では "0xA"、ベー  |
   |         |                           | タ版では "0xB"、リリ ース候補版では "0xC"、そし  |
   |         |                           | て最終版は "0xF")、この例ではアルファ版を 意味し |
   |         |                           | ています。                                       |
   +---------+---------------------------+--------------------------------------------------+
   |         | "29-32"                   | "PY_RELEASE_SERIAL" ("3.4.1a2" 中の "2"、最終リ  |
   |         |                           | リースでは 0)                                    |
   +---------+---------------------------+--------------------------------------------------+

従って、"3.4.1a2" は hexversionで "0x030401a2" です。

これらのマクロは Include/patchlevel.h で定義されています。
