生成dll和python调用C动态链接库

第一步:生成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

猜你喜欢

转载自blog.csdn.net/qq_38234785/article/details/102461448