python怎么调用c++脚本?
时间: 2024-10-22 07:04:18 浏览: 25
在Python中调用C++脚本通常需要使用C语言的接口或通过第三方库如Pybind11、Boost.Python等。以下是通过Pybind11的一个简单示例:
首先,在C++端编写一个简单的`example.cpp`文件,包含一些函数声明:
```cpp
#include <pybind11/pybind11.h>
// C++ 函数声明
void helloWorld();
double add(double a, double b);
PYBIND11_MODULE(example, m) {
m.doc() = "Example Python extension module";
// 将函数绑定到Python
m.def("hello_world", &helloWorld, "A simple C++ function");
m.def("add", &add, "A function that adds two numbers");
}
```
然后编译这个C++源码生成动态链接库(`.so` 或 `.dll`),例如使用g++:
```sh
g++ -shared example.cpp -o example.so
```
在Python中,你可以通过importlib.import_module导入并调用C++函数:
```python
import ctypes
import os
# 获取C++库路径
lib_path = os.path.abspath('./example.so')
# 加载C++模块
my_module = ctypes.cdll.LoadLibrary(lib_path)
# 调用C++函数
my_module.hello_world() # 调用 helloWorld 函数
result = my_module.add(3.0, 4.5) # 调用 add 函数,并获取结果
print(result)
```
阅读全文