之前接到一个任务就是用python调用so库,也就是python调用c++so库,也是第一次做这个,而且要的还很急,导致我也很忙碌,很多之前做的事请都丢下了。下面就介绍了ctypes调用so的简单例子。
ctypes 是 Python 的外部函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数。可使用该模块以纯 Python 形式对这些库进行封装。这篇文章主要是介绍如何使用ctypes模块对C语言编译的动态链接库要求的数据类型进行封装,主要包括以下几类:
- C语言中基础的数据类型(如char, int等)
- 数组类型
- 指针类型
- 结构体类型
- 嵌套结构体
- 结构体数组
- 结构体指针
- 指针数组
- 结构体指针数组
ctypes提供的方法和C语言对应的数据类型如下表:
ctypes加载yolov5.so