Mat*_*yce 5 python dynamic-linking python-import python-2.7 python-3.x
用posix和通用技术软件开发的说法.是否一个import纯粹蟒(未用Cython或c编译库)模块构成一个动态链接?
不,加载纯Python模块不被视为动态链接的一种形式.
传统的动态链接将机器代码加载到新的内存块中,并且可以为多个可执行进程提供访问权限(动态链接库只需要加载一次,虚拟内存负责其余部分).链接器在运行时连接可执行文件和动态库.
另一方面,加载Python模块会将模块的字节码加载到Python进程本身(如果此时没有字节码缓存可用,Python将编译源代码).加载的模块不在进程之间共享.不必进行转换,运行字节码的结果会在Python堆中生成新的对象,解释器中的所有现有代码都可以与之交互.
没有链接器参与此过程,没有单独的内存,操作系统没有单独的内存部分需要管理,因为模块只是Python进程内存的一部分.
| 归档时间: |
|
| 查看次数: |
2771 次 |
| 最近记录: |