API 和 ABI 版本管理?

PY_VERSION_HEX 是Python的版本號(hào)的單一整數(shù)形式。

例如, 如果 "PY _ VERSION _ HEX" 設(shè)置為 "0x0304012", 則可以通過(guò)按以下方式將其視為32位數(shù)字來(lái)查找基礎(chǔ)版本信息:

字節(jié)串

位數(shù)(大端字節(jié)序)

含義

1

1-8

PY_MAJOR_VERSION (the 3 in 3.4.1a2)

2

9-16

PY_MINOR_VERSION (the 4 in 3.4.1a2)

3

17-24

PY_MICRO_VERSION (the 1 in 3.4.1a2)

4

25-28

PY_RELEASE_LEVEL (0xA 是 alpha版本, 0xB 是 beta版本, 0xC 發(fā)布的候選版本并且 0xF 是最終版本),在這個(gè)例子中這個(gè)版本是alpha版本。

29-32

PY_RELEASE_SERIAL (3.4.1a2``中的``2,最終版本用0)

因此 3.4.1a2 的16進(jìn)制版本號(hào)是 0x030401a2

所有提到的宏都定義在 Include/patchlevel.h