importlib.h 如何从 Cpython 中的 importlib._bootstrap 生成?
How does importlib.h generated from importlib._bootstrap in Cpython?
我正在用 C 重写 python 导入系统。我遇到了一个问题:在 Python/importlib.h
中,它说它是由 Lib/importlib/_bootstrap.py
生成的,但即使我更改了一些代码Lib/importlib/_bootstrap.py
、Python/importlib.h
保持不变。
我有 3 个问题:
1: 如何更改 Python/importlib.h
中的字节码?
2:Lib/importlib/_bootstrap.py
和Python/importlib.h
有什么关系?
3:cpython导入系统的总体工作原理是什么?
看了几个星期的Python-3.6.10的源码,写下我的理解
Python/importlib.h
是由Programs/_freeze_import.c
生成的。 “make regen-all”需要重新运行 _freeze_import.c 文件。 _freeze_import.c
取 Lib/importlib/*.py
的输入生成 Python/importlib.h
和 Python/importlib_external.h
.
Lib/importlib/*.py
是 Python/importlib.h
和 Python/importlib_external.h
的来源。
- 您需要深入研究源代码。
我正在用 C 重写 python 导入系统。我遇到了一个问题:在 Python/importlib.h
中,它说它是由 Lib/importlib/_bootstrap.py
生成的,但即使我更改了一些代码Lib/importlib/_bootstrap.py
、Python/importlib.h
保持不变。
我有 3 个问题:
1: 如何更改 Python/importlib.h
中的字节码?
2:Lib/importlib/_bootstrap.py
和Python/importlib.h
有什么关系?
3:cpython导入系统的总体工作原理是什么?
看了几个星期的Python-3.6.10的源码,写下我的理解
Python/importlib.h
是由Programs/_freeze_import.c
生成的。 “make regen-all”需要重新运行 _freeze_import.c 文件。_freeze_import.c
取Lib/importlib/*.py
的输入生成Python/importlib.h
和Python/importlib_external.h
.Lib/importlib/*.py
是Python/importlib.h
和Python/importlib_external.h
的来源。- 您需要深入研究源代码。