# 使用 ctypes 调用 C++ 代码示例
# 首先,确保你有一个编译好的 C++ 共享库 (例如 libexample.so 或 example.dll)
# 假设我们有一个简单的 C++ 函数 add,在 C++ 中定义如下:
/*
extern "C" {
int add(int a, int b) {
return a + b;
}
}
*/
# 然后我们需要在 Python 中使用 ctypes 来调用这个函数
import ctypes
# 加载共享库
# 根据你的操作系统选择正确的路径和文件名
# 在 Linux 上可能是 './libexample.so'
# 在 Windows 上可能是 './example.dll'
lib = ctypes.CDLL('./libexample.so')
# 定义函数的参数类型和返回类型
lib.add.argtypes = (ctypes.c_int, ctypes.c_int)
lib.add.restype = ctypes.c_int
# 调用 C++ 函数
result = lib.add(3, 4)
print(f"Result of add(3, 4): {result}")
extern "C"
来防止名称修饰(name mangling),这样可以确保 Python 能够正确找到该函数。ctypes
模块加载共享库并调用其中的函数。CDLL
用于加载动态链接库,argtypes
和 restype
用于指定函数的参数类型和返回类型。lib.add(3, 4)
调用 C++ 函数,并打印结果。如果你没有提供 C++ 共享库或路径不正确,程序可能会抛出异常或无法找到符号。确保共享库的路径和名称正确无误。
上一篇:python数组和标记法
下一篇:python 字典 get
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站