第一步:生成C的动态链接库dll
1、下载MinGW-w64,一般都是下载和安装64位的,否则在python调用的时候就会出现不是标准的win32位程序的错误。
2、https://www.cnblogs.com/ggg-327931457/p/9694516.html
这是一篇详细介绍MinGW-w64的博客,从来没有见过如此详细的博客,安装好64位的GCC之后,我们开始生成动态链接库了
3、
带编译程序 add.c
#include<stdio.h>
#include<stdlib.h>
int sum(int a, int b)
{
return a + b;
}
进入C文件所在的文件夹,然后按住shift键+右键,打开dos窗口,输入:gcc add.c -shared -o add.dll
生成dll动态链接库
第二步:python下载ctypes库
pip install ctypes -i https://pypi.tuna.tsinghua.edu.cn/simple
第三步:python调用dll
下面是我的项目文件夹,将生成的动态链接库放在此文件夹下
text.py
调用dll文件
# ctypes的库
from ctypes import *
# 加载so库
lib_main = CDLL('add.dll') # CDLL加载库
sum_value = lib_main.sum(10, 20)
print(sum_value)
结果:
C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe C:/Users/Administrator/PycharmProjects/project_one/C/text.py
30
Process finished with exit code 0