繁体   English   中英

Python安装libs文件夹中的python3.lib和python3x.lib有什么区别?

[英]What is the difference between python3.lib and python3x.lib In the Python installation libs folder?

我一直在编译 C 库,并在 Python3 库文件中链接 Python 绑定。 我一直在使用 python39.lib 文件作为链接,但我想知道“版本化”数字(例如 python3x.lib)与非版本化数字(python3.lib)之间有什么区别。

在回答一个问题时,忘了提到这是使用 gcc 在 windows 上编译的。

谢谢

python3.lib仅包含 cpython 程序(或 Python 的 C 扩展)使用的关键库函数。 python3x.lib (例如python38.libpython39.lib )包含完整的库函数。 您应该链接到python3.lib ,以便您的构建配置不受次要 Python 版本升级(例如从 3.8 到 3.9)的影响。

链接非常依赖于平台和编译器。 参见PC/pyconfig.h中的代码注释(参见参考资料 [3])。

附加信息

  1. PEP384 - 联动
  2. 关于 MSVC linker 如何查找特定 Python 调试库的 Stackoverflow 问题
  3. PC/pyconfig.h

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM