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

我们可以在Python中使用C代码吗?[关闭]

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

我们可以在Python中使用C代码吗?[关闭]

我想在python中调用这些C函数或可执行文件。那可能吗。

是的,您可以编写可以作为模块导入到Python中的C代码。Python调用这些 扩展模块
。您可以直接从Python调用它,例如文档中的示例:

Python代码

import exampleresult = example.do_something()

C代码

static PyObject * example(PyObject *self){    // do something    return Py_BuildValue("i", result);}

如果我想让C代码成为一个库,这意味着我将它与#include以及* .o的链接一起使用,很可能在python中使用,怎么做或是否可行。

您可以将其构建为共享库 .dll* 或 .so,* 也可以研究使用distutils分发模块。

如果我将C代码写入可执行文件,这意味着它成为命令,是否可以直接在python中调用它?

如果您编写一个 * .exe,
那么您将执行相反的操作(从C调用Python)。选择的方法(exe与共享库)取决于您是否要使用
“带有某些Python的C程序”“带有某些C的Python程序”

另外,我听说可以编译python代码,这是否意味着我们可以在没有源文件的情况下执行代码?输出文件是二进制文件吗?它会提高性能吗?

运行时,Python读取 .py* 文件并编译为 .pyc 字节码 文件。然后,字节码在Python虚拟机中运行。这意味着
“第二次执行同一文件更快,因为可以避免从源代码重新编译为字节码。” (来自Python词汇表)因此,如果您尚未编辑
.py* 文件,它将运行
.pyc 。您可以分发 ** .pyc** 文件,而不分发 .py** 文件,但是这些文件未加密,可以进行反向工程。



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

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

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