从 Python 调用 C 函数

我们可以使用ctypes模块从PYTHON程序中调用C函数。

在Python中调用C函数

它涉及以下步骤:

1.使用所需函数创建C文件(.c扩展名) 2.使用C编译器创建共享库文件(.so扩展名)。 3.在Python程序中,从共享文件创建ctypes.CDLL实例。 4.最后,使用格式{CDLL_instance}调用C函数。{function_name}({function_parameters})

第一步:创建带有部分函数的C文件

1#include <stdio.h>
2
3int square(int i) {
4    return i * i;
5}

我们有一个简单的C函数,它将返回一个整数的平方。我已将此函数代码保存在名为my_unctions.c的文件中。

第二步:创建共享库文件

我们可以使用以下命令从C源文件创建共享库文件。

1$ cc -fPIC -shared -o my_functions.so my_functions.c

C文件共享库File

第三步:从Python程序调用C函数

 1>>> from ctypes import *
 2>>> so_file = "/Users/pankaj/my_functions.so"
 3>>> my_functions = CDLL(so_file)
 4>>> 
 5>>> print(type(my_functions))
 6<class 'ctypes.CDLL'>
 7>>> 
 8>>> print(my_functions.square(10))
 9100
10>>> print(my_functions.square(8))
1164
12>>>

从Python

如果更改C程序文件,则必须重新生成共享库文件。

结论

Python的默认实现是用C编程编写的,它被称为CPython。因此,在Python程序中使用C函数并不少见。在本教程中,我们学习了如何在python程序中轻松调用C函数。

Published At
Categories with 技术
Tagged with
comments powered by Disqus