1、创建DLL
打开VisualStudio2022,创建新项目
动态链接库-下一步
设置项目名称、项目位置、创建
单击头文件、添加、新建项
选择.h、设置名称、添加
同样的在源文件新建项,创建
代码:
test.h
#pragma once
#ifdef BUILD_TEST
#define API_SYMBOL __declspec(dllexport)
#else
#define API_SYMBOL __declspec(dllimport)
#endif
//宏定义,导出或者导入//
extern "C" API_SYMBOL int sum(int x, int y);
//导出函数//
test.c
#define BUILD_TEST
#include "test.h"
#include "stdio.h"
#include "pch.h"
#define DLLEXPORT extern "C" __declspec(dllexport) //直接在源文件定义导出
DLLEXPORT int sum(int a, int b) {
return a + b;
}//两数相加
设置编译器位数为64位(x86是32位,位数根据运行的pycharm中的Python解释器位数定义,两者保持一致)
注:如何查看Python解释器的位数
xin+R输入cmd输入指令Python,我的电脑是64位的。
生成解决方案
结果
2、pycharm调用DLL
将生成的DLL文件复制到Python目录下运行代码
代码:
from ctypes import *
from ctypes import * #pip ctypes库,并导入库
test = CDLL("./test.dll") #调用当前目录下叫test的dll文件,dll文件是C生成的动态链接库
print("加载成功")
result =test.sum(5,10) #调用库里的函数sum,求和函数
print(result) #打印结果
参考文章: