Управление версиями API и ABI¶
PY_VERSION_HEX
— это номер версии Python, закодированный одним целым
числом.
Например, если для PY_VERSION_HEX
установлено значение 0x030401a2
,
информацию о базовой версии можно найти, рассматривая её как 32-битное число
следующим образом:
Байты Биты (прямой порядок байтов) Значение 1
1-8
PY_MAJOR_VERSION
(3
в3.4.1a2
)2
9-16
PY_MINOR_VERSION
(4
в3.4.1a2
)3
17-24
PY_MICRO_VERSION
(1
в3.4.1a2
)4
25-28
PY_RELEASE_LEVEL
(0xA
для альфа,0xB
для бета,0xC
для релиз кандидата и0xF
для финального), в этом случае альфа.29-32
PY_RELEASE_SERIAL
(2
в3.4.1a2
, ноль для финальных релизов)
Таким образом, 3.4.1a2
— это шестнадцатеричная версия 0x030401a2
.
Все указанные макросы определены в Include/patchlevel.h.