栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

python绑定,它如何工作?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python绑定,它如何工作?

有几种方法可以从Python调用用C编写的代码。

首先,标准库中有ctypes模块。它允许您加载动态链接库(Windows

.so
上为DLL,Linux上为共享库)并直接从Python调用这些库中的函数。此类库通常用C编写。

其次,对于CPython,有Python / C
API。它可以以两种主要方式使用:

动态链接库可以用C编写,这样CPython会将其视为模块(您可以将其导入Python程序中)。Python / C
API允许库定义用C编写但仍可从Python调用的函数。该API非常强大,并提供了用于操纵所有Python数据类型和访问解释器内部的函数。

使用C
API的第二种方法是将Python嵌入用C编写的程序中。然后C程序可以创建用C编写的内置模块并公开C函数,就像在动态链接库方法中一样。该API还允许程序执行脚本,然后可以导入和使用内置模块。这可用于创建基于Python的插件系统。

“绑定”既可以使用ctypes实现为纯Python库,也可以使用Python / C
API实现为动态链接库。第二个选项有时与诸如SWIG之类的工具一起使用,它可以通过生成“样板代码”来简化任务,而Boost.Python可以在Python
/ C API之上提供C API,从而更轻松地与C 进行接口码。

进一步阅读:外部功能接口



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/626475.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号