API e versionamento ABI

PY_VERSION_HEX É o número da versão do Python codificado em um único inteiro.

Por exemplo se o PY_VERSION_HEX está configurado para 0x030401a2, a informações de versão subjacente pode ser encontrada tratando-a como um numero de 32 bit da seguinte maneira:

Bytes

Bits (big endian order)

Significado

1

1-8

PY_MAJOR_VERSION (O 3 em 3.4.1a2)

2

9-16

PY_MINOR_VERSION (O 4 em 3.4.1a2)

3

17-24

PY_MICRO_VERSION (O 1 em 3.4.1a2)

4

25-28

PY_RELEASE_LEVEL (0xA para alfa, 0xB para beta, 0xC para release candidate e 0xF para final), que nesse caso é alfa.

29-32

PY_RELEASE_SERIAL (O 2 em 3.4.1a2, zero para lançamentos finais)

Portanto “3.4.1a2” é em versão hexa “0x03041a2”.

Todas as macros fornecidas estão definidos em Include/patchlevel.h.