Python ABI标记中的'm'是什么意思?

Rör*_*örd 6 python abi

PEP 425解释了内置python发行版的兼容性标记格式,但没有详细解释ABI标记.

ABI标签可以以字母"d","m"和"u"的组合结束.作为一个例子,它是在PEP的"d"指ABI调试中解释,而这个答案解释说,"U"表示编译的解释--enable-unicode=ucs4,但我无法找到的"M"任何地方的意思.

Sha*_*ger 8

PEP 3149,m表明ABI的问题是使用pymalloc分配:

Python实现可以根据需要在文件名标记中包含其他标记.例如,在POSIX系统上,这些标志也将对文件名做出贡献:

  • --with-pydebug(标志:d)
  • --with-pymalloc(标志:m)
  • --with-wide-unicode(标志:u)

  • 值得注意的是,Python 3.8 消除了“m”标志。 (4认同)
  • @rdb:同样,从 3.3 开始(实现了 [PEP 393](https://www.python.org/dev/peps/pep-0393/)),“wide unicode”不是一个东西(它们来自每个字符硬编码 2 个或 4 个字节(在 Python 构建时确定)到每个字符使用 1、2 或 4 个字节的灵活表示(具体取决于最大序数),因此任何系统都可以表示任何 Unicode 字符,而不必总是使用 4 个字节每个字符)。 (2认同)