首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C/C++模块与python模块。

问C/C++模块与python模块。
EN

Stack Overflow用户
提问于 2016-11-05 20:07:35
回答 1查看 220关注 0票数 1

在Python ( CPython)中,我们可以导入模块:import module和模块可以只是*.py文件(带有python代码),或者模块可以是用C/C++编写的模块(正在扩展python)。因此,这样的模块只是编译了对象文件(比如Unix上的*.so/*.o )。

我想知道解释器是如何执行的。

我认为python模块被编译成字节码,然后就会被解释。在C/C++的情况下,这种模块的功能只是执行。所以,跳到地址并开始执行。

如果我错了,请纠正我/请多说。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-05 20:18:05

导入C扩展时,python使用平台的共享库加载器加载库,然后像您所说的那样跳转到库中的函数。但您不能只加载任何库,也不能以这种方式跳转到任何函数。它只适用于专门为支持python和库作为python对象导出的函数而实现的库。库必须理解python对象并使用这些对象进行通信。

另外,您可以使用像ctypes这样的外部函数库来加载库,并将数据转换为数据的C视图进行调用,而不是导入。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40442688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档