在 python 中调用 C/C++
在Python中调用C/C++代码可以通过多种方式实现,其中一种常用的方法是使用Cython或者创建Python扩展。以下是一个使用Cython的简单示例:
首先,安装Cython:
pip install cython
然后,创建一个C/C++文件(例如my_function.c
):
// my_function.c
int add(int a, int b) {
return a + b;
}
接下来,创建一个Cython定义文件(例如my_module.pyx
):
# my_module.pyx
cdef extern from "my_function.c":
int add(int a, int b)
cdef class MyAddition:
def __cinit__(self, a, b):
self.result = add(a, b)
property result:
def __get__(self):
return self.result
最后,创建一个设置文件(例如setup.py
)来编译Cython代码:
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules=cythonize("my_module.pyx")
)
在终端运行以下命令来编译和安装Python扩展:
python setup.py build_ext --inplace
这将生成一个Python可以导入的扩展模块。在Python中使用这个模块:
import my_module
result = my_module.MyAddition(3, 4).result
print(result) # 输出 7
请注意,这只是一个简单的示例。实际情况可能需要更复杂的配置和错误处理。
评论已关闭