当前位置: 首页> 娱乐> 影视 > python 调用 cpp 动态库示例 CDLL

python 调用 cpp 动态库示例 CDLL

时间:2025/7/15 2:16:34来源:https://blog.csdn.net/eloudy/article/details/139237744 浏览次数:0次

在 Python 中调用 C++ 库有几种常见的方法,其中包括使用 ctypes、Cython、SWIG 和 CFFI 等工具。
这里我们测试其中比较简单的方法,使用 ctypes 模块来调用 C++ 的动态函数库:

1. 编写并编译一个 cpp 的库

首先编写一个简单的 C++ 库,例如 the_math_lib.cpp:

#include <iostream>extern "C" {int cpp_add(int x, int y){std::cout << "Add from C++ lib" << std::endl;return x + y;}
}

2. 编译为共享库

将 C++ 代码编译为共享库, Linux 下编写 Makefile:

the_math_lib.so: the_math_lib.cppg++ -shared -o the_math_lib.so -fPIC the_math_lib.cpp

3. Python 中调用 cpp 函数

编写 Python 脚本来调用 C++ 库,例如 invoke_cpp_function.py:

import ctypes# Load the shared library
math_lib = ctypes.CDLL('./cpp_src/the_math_lib.so')# Call the C++ function
w = math_lib.cpp_add(3, 4)
print('w =', w)


4. 运行 Python 脚本

运行 Python 脚本来调用 C++ 库:


 

python invoke_cpp_function.py


通过这种方法,可以在 Python 中调用编写的 C++ 库函数。

这只是一种简单的方法,实际项目中可能需要处理更复杂的数据类型和接口。

如果涉及更复杂的情况,可以考虑使用 Cython、SWIG 或 CFFI 等工具来更好地集成 C++ 代码和 Python。

效果图示:

关键字:python 调用 cpp 动态库示例 CDLL

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: